1. 程式人生 > >android studio library 模組中正確引用aar

android studio library 模組中正確引用aar

今天對接一個海康監控的sdk,其中sdk 是以aar的形式提供的,並且我需要用到此aar的模組是個library。所以按照正常的在application模組中引入aar的方式一致報錯,首先提示要關閉offline ,然後關閉了還是會提示錯誤。想了很久不明白。最終通過公司前輩的指導,正確的引入了aar。
1.除了和正常的aar的引入方式外,我們還需要在application所在模組的build.gradle檔案中加入如下一段:

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

在application的build中也要加入檔案的指向,可加入各個模組,其中用逗號隔開,模組名就是你的modlename。
然後在你自己模組中還要正確引入:

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

到此aar的引入就完成了。

————————————–更新於 2018-01-03———————————–
最好使用遠端依賴的方式,這種方式可以有效解決,多層級依賴,導致相同的庫檔案重複的問題。
遠端依賴的規則是不傳遞依賴,這樣本模組依賴的再引用的模組是不可見的:
模組A,B,C
如果B依賴C並且是遠端依賴,那麼A依賴B的時候,C對於A是不可見的。
如果我們需要A中使用C,那麼可以在A中依賴C。
另一種解決方式:


那麼我們在library中依賴aar的時候就可以考略將此aar上傳到maven倉庫或者其他的遠端地址,這樣在依賴的時候就不會出現編譯不通過或者執行不了的問題。