久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

合并 dex 程序類型已存在時出錯:android.support.v4.

Error while merging dex Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver(合并 dex 程序類型已存在時出錯:android.support.v4.os.ResultReceiver$MyResultReceiver) - IT屋-程序員軟件開發技術分
本文介紹了合并 dex 程序類型已存在時出錯:android.support.v4.os.ResultReceiver$MyResultReceiver的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

合并dex時出錯

以下是依賴項.

ext {anko_version='0.10.5'support_lib='1.0.0-alpha1'room_lib = "1.1.0"}依賴{實施org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"實現androidx.cardview:cardview:$support_lib"實施com.google.android.material:material:$support_lib"實現androidx.appcompat:appcompat:$support_lib"實施org.jetbrains.anko:anko:$anko_version"實現androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1"實現android.arch.persistence.room:runtime:$room_lib"annotationProcessor "android.arch.persistence.room:compiler:$room_lib"}

錯誤

  • 出了什么問題:任務 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' 執行失敗.<塊引用>

    com.android.builder.dexing.DexArchiveMergerException:合并 dex 檔案時出錯:/app/build/intermediates/transforms/dexBuilder/debug/0.jar,程序類型已存在:android.support.v4.os.ResultReceiver$1

解決方案

這是因為你搞砸了依賴關系.您必須要么完全遷移到 AndroidX 依賴項,要么繼續使用支持庫的依賴項.因此,而不是

實現android.arch.persistence.room:runtime:$room_lib"annotationProcessor "android.arch.persistence.room:compiler:$room_lib"

使用

實現androidx.room:room-runtime:2.0.0-alpha1"annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"

另外一定要檢查你的 gradle.properties 項目文件是否包含

android.useAndroidX=trueandroid.enableJetifier=true

Jetifier 幫助依賴舊支持包的庫使用新的 AndroidX 包.

什么是噴射器?這是一個在構建階段調用的 Android Gradle 插件任務(現在也可以用作獨立工具).AGP (>= 3.2.0) 會自動應用依賴轉換,它會重寫字節碼和 JAR 和 AAR 依賴(以及傳遞依賴)的資源,以引用新的 androidx 打包類和工件.您還可以將其用作獨立工具來單獨遷移庫.

Jetifier 官方文檔

<塊引用>

獨立的 Jetifier 工具將依賴于支持庫的庫遷移為依賴等效的 AndroidX 包.該工具可讓您直接遷移單個庫,而不是使用與 Android Studio 捆綁的 Android gradle 插件.

P.S. 我沒有測試 Anko 是否適用于 AndroidX 依賴項,但如果即使啟用了 gradle.properties 中的那些屬性也不能,你別無選擇,只能回退到使用 Support圖書館和現在一樣.

Error when merging the dex

following are the dependencies.

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"
}

error

  • What went wrong: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.

    com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /app/build/intermediates/transforms/dexBuilder/debug/0.jar, Program type already present: android.support.v4.os.ResultReceiver$1

解決方案

It's because you messed up the dependencies. You have to either fully migrate to AndroidX dependencies or stay on Support library ones. Thus, instead of

implementation "android.arch.persistence.room:runtime:$room_lib"
annotationProcessor "android.arch.persistence.room:compiler:$room_lib"

use

implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"

Also be sure to check your gradle.properties project file to contain

android.useAndroidX=true
android.enableJetifier=true

Jetifier helps libraries, which depend on old Support packages, to use the new AndroidX ones.

What is Jetifier? It's an Android Gradle Plugin task (now can also be used as a standalone tool) which is invoked during build phase. AGP (>= 3.2.0) does automatically apply dependency translation which rewrites bytecode and resources of JAR and AAR dependencies (and transitive dependencies) to reference the new androidx-packaged classes and artifacts. You can also use it as a standalone tool to individually migrate a library.

Jetifier Official Documentation

The standalone Jetifier tool migrates support-library-dependent libraries to rely on the equivalent AndroidX packages instead. The tool lets you migrate an individual library directly, instead of using the Android gradle plugin bundled with Android Studio.

P. S. I didn't test if Anko works with AndroidX dependencies, but if it doesn't even though those properties in your gradle.properties are enabled, you have no other choices, but fallback to using Support libraries as for now.

這篇關于合并 dex 程序類型已存在時出錯:android.support.v4.os.ResultReceiver$MyResultReceiver的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

IncompatibleClassChangeError after updating to Android Build Tools 25.1.6 GCM / FCM(更新到 Android Build Tools 25.1.6 GCM/FCM 后出現 IncompatibleClassChangeError)
How to get current flavor in gradle(如何在 gradle 中獲取當前風味)
How to fix quot;unexpected element lt;queriesgt; found in lt;manifestgt;quot; error?(如何修復“意外元素lt;查詢gt;在“清單中找到錯誤?)
Multi flavor app based on multi flavor library in Android Gradle(基于 Android Gradle 中多風味庫的多風味應用)
Android dependency has different version for the compile and runtime(Android 依賴在編譯和運行時有不同的版本)
Transitive dependencies for local aar library(本地 aar 庫的傳遞依賴)
主站蜘蛛池模板: 99pao成人国产永久免费视频 | 日韩三级在线观看 | 欧美成人第一页 | 欧美日韩不卡合集视频 | 99久久精品免费看国产高清 | 男女性毛片 | 精品小视频 | 在线观看亚洲专区 | av大全在线 | 天堂在线免费视频 | 秋霞电影一区二区三区 | www国产成人免费观看视频,深夜成人网 | 综合九九 | 我想看一级黄色毛片 | 亚洲国产成人久久久 | 视频一区在线播放 | 欧美成人免费 | 一区二区三区中文字幕 | 色在线免费视频 | 真人女人一级毛片免费播放 | 亚洲一区欧美 | 天堂av影院 | 91视视频在线观看入口直接观看 | 在线观看免费av网 | 国产精品久久久久久久久久久久冷 | 成人在线视频网站 | 大象一区| 青青草亚洲 | 中文字幕一区二区三区不卡 | 亚洲精品一区二区三区四区高清 | 久久亚洲一区二区三区四区 | 久久91 | 精品成人| 热久久久久 | 在线观看毛片网站 | 精品国产乱码一区二区三 | 在线免费黄色 | 免费一看一级毛片 | 91精品亚洲| 毛片站 | 久久大陆 |