溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

android studio library 模塊中正確引用aar的實(shí)例講解

發(fā)布時(shí)間:2020-09-29 15:47:00 來(lái)源:腳本之家 閱讀:328 作者:向大牛前行 欄目:移動(dòng)開(kāi)發(fā)

今天對(duì)接一個(gè)??当O(jiān)控的sdk,其中sdk 是以aar的形式提供的,并且我需要用到此aar的模塊是個(gè)library。所以按照正常的在application模塊中引入aar的方式一致報(bào)錯(cuò),首先提示要關(guān)閉offline ,然后關(guān)閉了還是會(huì)提示錯(cuò)誤。想了很久不明白。最終通過(guò)公司前輩的指導(dǎo),正確的引入了aar。

1.除了和正常的aar的引入方式外,我們還需要在application所在模塊的build.gradle文件中加入如下一段:

repositories {
  flatDir {
    dirs 'libs', '../模塊名/libs'
  }
}

在application的build中也要加入文件的指向,可加入各個(gè)模塊,其中用逗號(hào)隔開(kāi),模塊名就是你的modlename。

然后在你自己模塊中還要正確引入:

repositories {
  flatDir {
    dirs 'libs'
  }
}
dependencies {
  compile fileTree(include: ['*.jar'], dir: 'libs')
  compile(name: 'aar名字', ext: 'aar')
}

到此aar的引入就完成了。

———————————— 更新于 2018-01-03 ————————————

最好使用遠(yuǎn)程依賴(lài)的方式,這種方式可以有效解決,多層級(jí)依賴(lài),導(dǎo)致相同的庫(kù)文件重復(fù)的問(wèn)題。

遠(yuǎn)程依賴(lài)的規(guī)則是不傳遞依賴(lài),這樣本模塊依賴(lài)的再引用的模塊是不可見(jiàn)的:

模塊A,B,C

如果B依賴(lài)C并且是遠(yuǎn)程依賴(lài),那么A依賴(lài)B的時(shí)候,C對(duì)于A是不可見(jiàn)的。

如果我們需要A中使用C,那么可以在A中依賴(lài)C。

另一種解決方式:

那么我們?cè)趌ibrary中依賴(lài)aar的時(shí)候就可以考略將此aar上傳到maven倉(cāng)庫(kù)或者其他的遠(yuǎn)程地址,這樣在依賴(lài)的時(shí)候就不會(huì)出現(xiàn)編譯不通過(guò)或者運(yùn)行不了的問(wèn)題。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI