More than one file was found with OS independent path 'res/values/values.xml

Android SDK中怎么打入本地aar 文件

折騰了一下午,答案就是 怎么都打不進去

如果你用這種引入方式(這種感覺就是錯的,我也不知道之前為啥這樣引入):

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

那么恭喜你,你將喜提以下錯誤

More than one file was found with OS independent path 'res/values/values.xml

別在網上看那些亂七八糟的,如果看到這個錯誤,八成就是 aar 導入方式錯了

那有人就說了,這個錯誤有解決辦法,加上下面這段代碼就行了

packagingOptions {
    merge 'res/values/values.xml'
    merge 'AndroidManifest.xml'
    merge 'res/drawable/login_bg.xml'
    merge 'R.txt'
    merge 'classes.jar'
}

加上之后欣喜若狂,真的能打包了,可是別的地方一引自己的AAR,發(fā)現自己AAR引的AAR還是沒有打進來

那有人又說了,這個也好解決,誰用我的AAR,誰就引一下我的AAR引的AAR(感覺自己像一個rapper)。雖然這個辦法可行,但這個也太麻煩了。

那AAR還有另外一種引入方式,嘗試一下吧:

implementation(name: 'xxxxx', ext: 'aar')

那先恭喜你,打包一下就能成功,那引一下吧,發(fā)現根本同步不下來??磍og(log被我刪了,放不了圖了),大致意思就是說,我們AAR里引的AAR是本地的,沒有groupID 什么的 Maven下載不來。

重點來了,怎么解決呢?

解決辦法

既然說我們沒有groupID,我們弄個groupID不就行了嗎,各位應該都有Maven倉庫吧,把本地的AAR上傳到遠端不就行了,折騰了半天,怎么沒想起來呢,害!

代碼如下:

apply plugin:'maven-publish'
publishing{
    repositories {
        maven {
            credentials {
                username "userName"
                password "PWD"
            }
            url "XXXX" //maven庫地址
        }
    }

    publications{
        audio(MavenPublication) {
            groupId 'XXX'
            artifactId 'XXX'
            version 'XXX'
            artifact 'XXX' //aar目錄下面的audio.aar文件
        }
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容