小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

解決:Direct local .aar file dependencies are not supported when building an AAR.

 創(chuàng)始元靈6666 2022-07-04 發(fā)布于河北

問(wèn)題描述

最近在重構(gòu)Android舊項(xiàng)目時(shí),把相關(guān)功能獨(dú)立成一個(gè)個(gè)的library庫(kù),然后app module或其他模塊添加依賴(lài),這時(shí)遇到一個(gè)問(wèn)題:獨(dú)立的這個(gè)library中依賴(lài)了本地的第三方提供的aar文件,然后打包debug版本apk能正常運(yùn)行,而打包release版本時(shí)一直報(bào)錯(cuò)。(但是,如果是主項(xiàng)目module,如app module直接依賴(lài)本地aar是不會(huì)報(bào)錯(cuò)的)。

此時(shí)我的項(xiàng)目Android Studio版本及gradle版本如下:
Android Studio: Arctic Fox | 2020.3.1
Gradle:

classpath "com.android.tools.build:gradle:7.0.0"

我項(xiàng)目配置如下
截圖1
此時(shí)編譯release版本時(shí)于是出現(xiàn)了如下錯(cuò)誤:
截圖2
具體錯(cuò)誤如下:

> Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be
broken because the classes and Android resources from any local .aar file dependencies would not be 
packaged in the resulting AAR. Previous versions of the Android Gradle Plugin produce broken AARs in this 
case too (despite not throwing this error).

解決步驟

1.將library模塊中依賴(lài)方式 改成compileOnly fileTree(…)

代碼如下:

compileOnly fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

截圖3

2.將主工程AAR依賴(lài)方式改成implementation fileTree(…)

代碼如下(示例):

implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')

截圖4

3.將library中l(wèi)ibs下aar文件復(fù)制一份放入主工程的libs下

截圖5
然后再重寫(xiě)編譯,至此問(wèn)題解決。


總結(jié)

這種依賴(lài)問(wèn)題應(yīng)該是由于環(huán)境版本變化導(dǎo)致的,根據(jù)錯(cuò)誤描述說(shuō)以前的這種直接依賴(lài)方式會(huì)破壞aar文件,高版本后不再支持,我們這種解決方式是讓library在編譯時(shí)使編譯器通過(guò)不報(bào)錯(cuò),在主工程拷貝一份的文件在打包后能讓程序正常調(diào)用。
解決這個(gè)問(wèn)題花了不少時(shí)間,記錄一下,希望能幫助到遇到同類(lèi)問(wèn)題的同仁。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多