解決Android Studio提示多個版本support警告

在Android開發(fā)中,如果我們引用了某些框架,而在我們自己的項目和其他框架中,分別引用了不同版本的support庫,就會報如下警告:

提示的庫為:com.android.support:appcompat-v7:27.1.1
提示信息:All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 27.1.1, 27.1.0. Examples include...

大致意思為不同版本的support庫可能引起APP崩潰,發(fā)現(xiàn)27.1.127.1.0兩個版本。
既然知道問題了,解決也很簡單。

1.查看依賴關(guān)系

Android StudioTerminal中輸入命令:

>gradlew app:dependencies

也可以輸入如下命令來打印結(jié)果到文本中:

>gradlew app:dependencies >log.txt

如果提示'gradle' 不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件。,則需要將gradle所在目錄的bin文件夾添加到Path系統(tǒng)環(huán)境變量中。一般在C:\Users\用戶名\.gradle\wrapper\dists\下,找到最新版本或者你當(dāng)前用的版本,我的目錄為:

C:\Users\Administrator\.gradle\wrapper\dists\gradle-4.10-all\54ye4nru8k2rpf7xwj15he4fo\gradle-4.10\bin

在系統(tǒng)環(huán)境變量中,新建GRADLE_HOME變量,值為上述地址,然后在Path中添加%GRADLE_HOME%即可。
回到Android StudioTerminal中重試上述命令,如果還不行,需要重啟Android Studio。

2.查找?guī)煲?/h2>

經(jīng)過第一步輸出日志到log文件后,我們可以打開log文件,搜索27.1.0,找到對應(yīng)的庫,我的是picasso

+--- com.squareup.picasso:picasso:2.71828
|    +--- com.squareup.okhttp3:okhttp:3.10.0 (*)
|    +--- com.android.support:support-annotations:27.1.0 -> 27.1.1
|    \--- com.android.support:exifinterface:27.1.0
|         \--- com.android.support:support-annotations:27.1.0 -> 27.1.1

3.排除對應(yīng)版本的包

最后,我們只需要在picasso中排除掉低版本的庫即可,因為我的報錯是com.android.support:appcompat-v7,所以我要排除的是appcompat-v7包:

implementation("com.squareup.picasso:picasso:2.71828") {
    exclude group: 'com.android.support'
    exclude module: 'appcompat-v7'
}
最后編輯于
?著作權(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ù)。

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