我正在使用具有以下两个依赖项AndroidX
的第三方库:
implementation 'androidx.navigation:navigation-fragment:2.1.0-alpha02'
implementation 'androidx.navigation:navigation-ui:2.1.0-alpha02'
在编译仍使用android.support.*
的主机应用程序时,出现以下错误:
AAPT:错误:属性'com.x.y.android.debug:defaultNavHost' 找不到。
AAPT:错误:找不到属性'com.x.y.android.debug:startDestination'。
要解决此问题,我在主机应用中添加了相应的AndroidX
库,并遇到以下错误:
任务:App:transformDexArchiveWithExternalLibsDexMergerForChaseDebug FAILED D8:程序类型已经存在:com.google.android.material.internal.package-info
请注意:该库已经使用this link进行了反向打印
./jetifier-standalone -r -i myAndroidXLib.aar -o supportLibVersion.aar
我已经尝试在gradle.properties
文件中添加以下行:
android.useAndroidX = true
android.enableJetifier=false
已经尝试从包装信息中排除:
packagingOptions {
exclude 'com.google.android.material.internal.package-info'
}
以上两种解决方案都根本不起作用。有什么建议吗?
答案 0 :(得分:0)
我可以看到两种解决方案:
1)将您的应用迁移到AndroidX。
2)降级库版本
大多数库都比AndroidX老。因此,过去,他们使用支持库。他们最近迁移。因此,您可以将gradle设置为使用旧版本(在迁移到AndroidX之前)。
您可以通过检查他们更新build.gradle
的版本来找到此类信息。
例如,如您所见,HERE的Lottie Library已迁移到版本2.6.0
的Android X。
因此,对于Lottie,可以使用v2.5.6
版本,它是v2.6.0
之前的最后一个稳定版本