有没有办法混合 AndroidX 和使用支持库的子项目?

Is there a way to mix AndroidX and a subproject that uses the support library?

我有一个 Android 项目,我想升级到 AndroidX。 但是,我正在使用一个在尚未迁移到 AndroidX 的其他应用程序之间共享的模块。我想避免分叉代码,更喜欢使用模块的支持库,同时升级项目的重置以使用 AndroidX.

现在我无法导入任何 android.support.v7 类。因此,例如 import android.support.v7.widget.AppCompatEditText; 失败。

我已尝试还原模块中迁移工具对 build.gradle 所做的更改,但这并不能阻止编译问题。

然而在我的gradle.properties中还有:

android.useAndroidX=true
android.enableJetifier=true

您应用中使用的所有模块需要一起迁移到 AndroidX。您需要将要保留在支持库中的模块移动到新项目中,并且仅将其用作 AndroidX 项目中的 Maven 依赖项或 AAR。

如果您将 多模块 项目与 androidX 一起使用,并希望将模块与 support library 一起使用,您可以尝试创建gradle.properties 模块文件夹中的文件并定义

android.useAndroidX=false
android.enableJetifier=false

此外,我建议您为每个模块创建 gradle.properties 以配置您的项目