代码之家  ›  专栏  ›  技术社区  ›  Khemraj Sharma

AndroidX迁移依赖项/库

  •  7
  • Khemraj Sharma  · 技术社区  · 6 年前

    我已成功地将我的项目迁移到 AndroidX . ,但我得到编译时错误,因为我的依赖项使用支持包。

    image1

    image2

    此错误的原因

    因为 PhotoView 是一个依赖类,它使用 android.support.v7.widget.AppCompatImageView androidx.appcompat.widget.AppCompatImageView

    项目仍在运行?

    android.enableJetifier AndroidX 在运行时,但我想 .

    现在有快速的解决方法吗?

    3 回复  |  直到 5 年前
        1
  •  12
  •   Kousic    6 年前

    如果您依赖于引用旧的支持库的库,androidstudio将通过依赖关系转换将该库更新为引用androidx。Android Gradle插件3.2.0-alpha14自动应用依赖项转换,它重写JAR和AAR依赖项(以及可传递依赖项)的字节码和资源,以引用新的androidx打包类和工件。我们还将提供一个独立的翻译工具作为JAR。

    我明白了(用./gradlew)app:dependencies)rxbinding的设计依赖关系将更新为新的com.google.android.material依赖关系。将com.google.android.material.snackbar.snackbar传递给引用android.support.design.widget.snackbar本身的库函数会使android Studio显示编译器错误,但实际上编译和运行应用程序是可行的。我想AS还不能真正处理这些变化。

    似乎有一些缓存问题,正在删除 .idea/libraries 执行梯度同步会使错误消失。

        2
  •  3
  •   Khemraj Sharma    6 年前

    .idea 文件夹并再次同步项目。

    这似乎是IDE的一个bug,而不是Jetifier,它在迁移后不会重新同步依赖项。 Jetifier做得很好。它在构建时将所有依赖支持库转换为androidx。看到了吗 @this post 好的解释。

        3
  •  1
  •   thejuki    6 年前