合并目录值时出错
以下是依赖项。
ext {
anko_version='0.10.5'
support_lib='1.0.0-alpha1'
room_lib = "1.1.0"
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "androidx.cardview:cardview:$support_lib"
implementation "com.google.android.material:material:$support_lib"
implementation "androidx.appcompat:appcompat:$support_lib"
implementation "org.jetbrains.anko:anko:$anko_version"
implementation "androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1"
implementation "android.arch.persistence.room:runtime:$room_lib"
annotationProcessor "android.arch.persistence.room:compiler:$room_lib"
}
错误
任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.执行失败:
发布于 2018-05-23 00:16:37
这是因为你搞乱了依赖关系。您必须完全迁移到AndroidX依赖项,或者继续使用支持库依赖项。因此,不是
implementation "android.arch.persistence.room:runtime:$room_lib"
annotationProcessor "android.arch.persistence.room:compiler:$room_lib"
使用
implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"
还要确保检查您的gradle.properties
项目文件以包含
android.useAndroidX=true
android.enableJetifier=true
Jetifier帮助依赖于旧支持包的库使用新的AndroidX包。
什么是Jetifier?它是一个Android Gradle插件任务(现在也可以作为一个独立的工具使用),在构建阶段调用。AGP (>= 3.2.0)不会自动应用依赖转换,它会重写JAR和AAR依赖(以及传递依赖)的字节码和资源,以引用新的androidx打包的类和工件。您还可以将其用作单独移植库的独立工具。
Jetifier Official Documentation
是一个独立的Jetifier工具,它将依赖于支持库的库迁移为依赖于等价的AndroidX包。该工具允许您直接迁移单个库,而不是使用与Android Studio捆绑在一起的Android gradle插件。
另外,我没有测试Anko是否可以处理AndroidX依赖,但是如果它不能工作,即使您的gradle.properties
中的那些属性被启用,您也没有其他选择,只能退回到现在使用支持库。
发布于 2018-06-28 19:05:03
在gradle.properties
上添加以下行
android.useAndroidX=true
android.enableJetifier=true
并更改您的聊天室对build.gradle的依赖(模型:应用程序)
implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"
发布于 2018-12-03 20:09:26
将依赖项迁移到androidx
依赖项。并在gradle.properties
中添加以下行(如果尚未创建,请在根文件夹中创建文件)。
android.useAndroidX=true
android.enableJetifier=true
希望这能有所帮助。
https://stackoverflow.com/questions/50387207
复制相似问题