Android升級gradle 后引入aar包報錯解決
問題
android 在升級 gradle 后,之前引入 aar 包的方式發(fā)生了變化,打包的時候會報錯。報錯信息大概如下:
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). The following direct local .aar file dependencies of the :commonlib project caused this error: /Users/projectName/libs/staticip.aar
這里記錄一下解決的過程。
環(huán)境
我這邊項目使用的環(huán)境信息大概如下:
- Android Studio:
Android Studio Flamingo | 2022.2.1 Build #AI-222.4459.24.2221.9862592, built on March 31, 2023 Runtime version: 17.0.6+0-17.0.6b802.4-9586694 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 13.3.1 GC: G1 Young Generation, G1 Old Generation Memory: 3072M Cores: 8 Metal Rendering is ON Registry: editor.focus.mode.color.light=415967 ide.editor.tab.selection.animation=true external.system.auto.import.disabled=true ide.text.editor.with.preview.show.floating.toolbar=false ide.new.editor.tabs.vertical.borders=true ide.balloon.shadow.size=0 editor.focus.mode.color.dark=415967 gradle.version.catalogs.dynamic.support=true Non-Bundled Plugins: idea.plugin.protoeditor (222.4459.16) com.intellij.marketplace (222.4459.28) com.mallowigi (80.1.0) com.chrisrm.idea.MaterialThemeUI (7.14.2)
- gradle 版本:
classpath 'com.android.tools.build:gradle:7.4.2'
- aar 庫引入方式:通過直接將 aar 包放到
libs
目錄的方式引入。
解決步驟
1. 新建本地庫目錄
切換到 project 模式:
在項目根目錄右鍵新建文件夾,名字隨便,我這里設(shè)置為:LocalRepo
2. 新建 aar 模塊
- 在
LocalRepo
目錄中新建新文件夾,用于存放 aar 模塊,我這里取名為:staticip
。 - 將你原來在
libs
中的 aar 庫剪切到LocalRepo
目錄下。 - 在
LocalRepo
目錄中新建build.gradle
文件,填入如下內(nèi)容:
configurations.maybeCreate("default") artifacts.add("default", file("staticip.aar"))
記得將 staticip.aar
替換為你自己的 arr 庫名。
最后的目錄結(jié)構(gòu)如下:
3. 導(dǎo)入模塊
編輯 settings.gradle
,加入如下內(nèi)容:
include ':LocalRepo:staticip'
4. 引入模塊
在你之前要引入這個 arr 庫的模塊中,修改它的 build.gradle
文件:
dependencies { implementation project(':LocalRepo:staticip') }
5. 同步項目
最后別忘了 sync
一下:
總結(jié)
簡單來講,這個錯誤就是新版的 gradle 不支持直接導(dǎo)入 aar 庫造成的,通過將 aar 庫包裝為模塊的方式引入可以解決該問題。
以上就是Android升級gradle 后引入aar包報錯解決的詳細內(nèi)容,更多關(guān)于Android升級gradle引入aar包的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Material Design系列之Behavior上滑顯示返回頂部按鈕
這篇文章主要為大家詳細介紹了Material Design系列之Behavior上滑顯示返回頂部按鈕的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09Android動態(tài)顯示當(dāng)前年月日時分秒系統(tǒng)時間(示例代碼)
這篇文章主要介紹了Android動態(tài)顯示當(dāng)前年月日時分秒系統(tǒng)時間的示例代碼,需要的朋友可以參考下2017-05-05Android開發(fā)手冊Button按鈕實現(xiàn)點擊音效
這篇文章主要為大家介紹了Android開發(fā)手冊Button按鈕實現(xiàn)點擊音效示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06在Android設(shè)備上搭建Web服務(wù)器的方法
本篇文章主要介紹了在Android設(shè)備上搭建Web服務(wù)器的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04Android 詳解自定義圓角輸入框和按鈕的實現(xiàn)流程
對于安卓程序員來說,自定義view簡直不要太重要,畢竟有很多功能,譬如圓形頭像這些,用單純的原生非常難以實現(xiàn),而用自定義view,簡直分分鐘,今天我們來實現(xiàn)自定義圓角輸入框和按鈕,大家可以跟著練習(xí),掌握技巧2021-11-11android原生實現(xiàn)多線程斷點續(xù)傳功能
這篇文章主要為大家詳細介紹了android原生實現(xiàn)多線程斷點續(xù)傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-07-07解決webview調(diào)用goBack()返回上一頁自動刷新閃白的情況
本文主要介紹了解決webview調(diào)用goBack()返回上一頁自動刷新閃白的情況。具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03