Android將library打包成jar包和aar包


有時候,我們需要將一個SDK的包,打成一個獨立的JAR/AAR提供給別的同事或者第三方使用,這時候,就需要將項目中的某模塊進行打包。

經過測試,發現不同的android studion 版本,編譯生成的jar包,保存的路徑可能都不一樣。AS 4.0以下生成的JAR包保存在:build/intermediates/bundles/本次例子使用的是AS 4.2,打包生成的JAR包位於:build/intermediates/packaged-classes

一  創建 library  項目: 工程(右鍵)-->new --> Module 創建android library項目,填上你的名稱即可,我這里直接叫 mylibrary。

 

 

二  添加打包的自定義任務。

 在 mylibrary 模塊中的 build.gradle添加任務,代碼如下:

//task to export contents as jar
task exportJar(type: Copy) {
   //這個需要根據自己的安卓as的版本,看是否存在
from('build/intermediates/packaged-classes/release/')
//將生成的JAR包拷貝到哪里,我這里直接拷貝到app模塊的libs目錄下去 into(
'../app/libs') include('classes.jar') ///Rename the jar rename('classes.jar', 'mylibrary.jar')
}


exportJar.dependsOn(deleteOldJar, build)

 

這里分享一個小的TIPS:

有時候我們發現,build/intermediates/packaged-classes/release/  這個路徑可能我們生成的時候,發現並不存在。可以執行這樣操作讓其生成。

在模塊mylibrary的gradlek上,依次找到 mylibrary--->build--->clean(刪除生成的緩存)--->build(重新build)---》assemble; mylibrary--->other-->assembleDebug-->assembleRelease

這樣上面的文件夾就會生成了,當然也要注意,不同的AS版本上面的命令的所在的位置也不一樣的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM