Ani*_*ale 45 android android-support-library android-gradle-plugin
合并dex时出错
以下是依赖项.
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"
}
Run Code Online (Sandbox Code Playgroud)
错误
com.android.builder.dexing.DexArchiveMergerException:合并dex存档时出错:/app/build/intermediates/transforms/dexBuilder/debug/0.jar,程序类型已存在:android.support.v4.os.ResultReceiver $ 1
art*_*est 91
这是因为你搞砸了依赖关系.您必须完全迁移到AndroidX依赖项或继续使用支持库.因此,而不是
implementation "android.arch.persistence.room:runtime:$room_lib"
annotationProcessor "android.arch.persistence.room:compiler:$room_lib"
Run Code Online (Sandbox Code Playgroud)
使用
implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"
Run Code Online (Sandbox Code Playgroud)
另外一定要检查gradle.properties
要包含的项目文件
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
Jetifier帮助依赖旧支持包的库使用新的AndroidX.
什么是Jetifier?这是一个Android Gradle Plugin任务(现在也可以用作独立工具),在构建阶段调用它.AGP(> = 3.2.0)会自动应用依赖项转换,它会重写JAR和AAR依赖项(以及传递依赖项)的字节码和资源,以引用新的androidx打包的类和工件.您还可以将其用作单独迁移库的独立工具.
独立的Jetifier工具迁移了支持库依赖库,而不是依赖于等效的AndroidX软件包.该工具允许您直接迁移单个库,而不是使用与Android Studio捆绑在一起的Android gradle插件.
PS我没有测试Anko是否与AndroidX依赖关系一起工作,但是如果它没有gradle.properties
启用你的那些属性,你没有其他选择,但现在回退到使用支持库.
Aun*_*win 18
添加以下行 gradle.properties
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
并在build.gradle(moudel:app)上更改您的房间依赖项
implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"
Run Code Online (Sandbox Code Playgroud)
将依赖项迁移到androidx
依赖项.并gradle.properties
添加以下行(如果尚未创建,则在根文件夹中创建文件).
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
归档时间: |
|
查看次数: |
35494 次 |
最近记录: |