androidx 和 android support庫不能共存

錯誤信息

Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:34:5-168:19 to override.

造成原因

由于引入的第三方依賴庫依賴了androidx ,而自己本身的庫又是依賴的support ,導致兩者不能共存。

解決方案

方案一:

降低第三方依賴庫的版本

方案二:

在Appliacation 中加入一下代碼:

android:appComponentFactory=""
tools:replace="android:icon,android:theme,android:allowBackup,android:appComponentFactory">

方案三:轉(zhuǎn)換成Androidx

1.將build tools更新到3.2.0,gradle更新到4.6,依賴庫統(tǒng)一更新到28.0.0,這一步非常重要,否則會導致第二步不能完全轉(zhuǎn)換成功

2.選擇工程右鍵→Refactor→Migrate to Androidx...

3.選中所有需要重命名的目錄,執(zhí)行Do Refactor

4.發(fā)現(xiàn)已經(jīng)看不到support庫了,運行成功安裝app。

查看依賴樹

方式一使用AS自帶的工具,雙擊截圖位置。


image.png

方式二使用命令行.app 是module 名稱

gradlew :app:dependencies

依賴日志輸出到文件

gradlew :app:dependencies >log.txt
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容