項目中內建aar
在android 開發中我們除了引入jar包之外,有時候還會需要使用到arr包,那麼既然有了jar為什麼還要arr呢?這裡就要說一下arr的不同了,arr包除了包含了位元組碼檔案之外,還會包含一些資源檔案,也就是說jar隻不過是arr的一個子集而已。從上面可以看出arr要比jar要好用一些,我舉例一下arr的優點。
1、arr檔案使用AS編譯的時候會自動生成-build—>outputs–>arrs(裡面有debug和replace格式的,一般引用到項目中的時候我習慣用replace)—-(jar檔案夾也可以在編譯的時候自動生成 位置:build–>intermediates–>bundles–>defalt–>classes.jar)
2、aar檔案編譯要比jar檔案編譯會快上nS
3、arr檔案占的位置比較小
4、arr不可見,相對于代碼保護來說更安全
本人發現以上幾點悠點,在本項目中還是比價實用的,下面說下內建的步驟,內建分為以下兩種情況:
1、在APP本項目中引用
(1)把arr檔案拷貝到項目中的libs檔案夾中
(2)在app.build.gradle中添加資源位置
repositories {
flatDir {
dirs 'libs'
}
}
(3)在dependencies中配置依賴
2、在項目依賴的library中添加arr依賴
方法和在1中的方法相同,配置資源位置的時候進來用相對路徑
repositories {
flatDir {
dirs '../libary名稱/libs'
}
}
下面說遇到的吭
在配置依賴的時候多了個字尾名,導緻出現 下面這種情況
錯誤寫法:
compile(name:'baselibrary-release.arr', ext:'aar')
正确寫法如下:
compile(name:'baselibrary-release', ext:'aar')