2

我有一个使用 AncdroidX 组件的应用程序。喷射器已启用

android.enableJetifier=true
android.useAndroidX=true

现在我正在添加一个使用 android 库而不是 AndroidX 的第三方库(com.android.support).

库依赖项

implementation "com.android.support:appcompat-v7:28.0.0"

应用程序依赖

implementation "androidx.appcompat:appcompat:1.0.0"

我收到第三方库的构建错误

error: package android.support.v7.widget does not exist
    public final android.support.v7.widget.Toolbar toolbarFragment;
                                          ^

当我检查依赖项时,它显示为

+--- com.android.databinding:baseLibrary:3.1.4 -> androidx.databinding:databinding-common:3.2.1
+--- androidx.appcompat:appcompat:1.0.0-rc01 -> 1.0.0 (*)
+--- com.google.android.material:material:1.0.0-rc01 -> 1.0.0 (*)
4

1 回答 1

0

实际上,应用程序正在生成绑定类,而 Jetifier 无法迁移生成的类中的代码。为了解决这个问题,图书馆提供者需要把

android.databinding.enableV2=true

在他们的gradle.properties档案中。

来自Android 文档

库模块的绑定类被编译并打包到相应的 Android 存档 (AAR) 文件中。依赖于这些库模块的应用程序模块不再需要重新生成绑定类。

于 2019-08-20T11:56:04.773 回答