AndroidStudio4.0.1 打包 Jar包

1、新建一個(gè)項(xiàng)目

image.png

2、項(xiàng)目中新建一個(gè)module

image.png

3、修改新module下的build.gradle文件

image.png
task makeJar(type: Copy) {
    //如果什么都不寫(xiě)就生成在默認(rèn)的路徑下,也就是下文的build/intermediates/aar_main_jar/release/下,build目錄是在當(dāng)前module的文件夾下,比如我的就是在activity下。
    //刪除
    delete 'build/output/activity.jar'
    //打包好的jar包在這個(gè)目錄,至少這個(gè)版本的module打包后是在aar_main_jar這個(gè)目錄下
    from('build/intermediates/aar_main_jar/release/')
    //打包好的jar包移到這
    into('build/libs/')
    //將classes.jar放入build/libs/目錄下
    //include ,exclude參數(shù)來(lái)設(shè)置過(guò)濾
    //(我們只關(guān)心classes.jar這個(gè)文件)
    include('classes.jar')
    //重命名
    rename('classes.jar', 'activity.jar')              
}
//執(zhí)行
makeJar.dependsOn(build)

添加這些代碼后就可以在Terminal中運(yùn)行g(shù)radlew makeJar,然后成功了就可以在上述目錄里找到j(luò)ar包了,如果你嘗試了發(fā)現(xiàn)不對(duì),那就得辛苦點(diǎn)了,在build/intermediates/目錄下一個(gè)一個(gè)找吧!
也可以在gradle的命令窗口里點(diǎn)擊啟動(dòng)

4、如果module中引用了第三方的jar

image.png

需要修改上面配置打包的指令


image.png
task makeJar(type:Jar){
    archivesBaseName = "mylib"
    from(project.zipTree('build/intermediates/packaged-classes/release/classes.jar'))
    from(project.zipTree('build/intermediates/packaged-classes/release/libs/okhttp-3.11.0.jar'))
    from(project.zipTree('build/intermediates/packaged-classes/release/libs/glide-3.6.0.jar'))
    from(project.zipTree('build/intermediates/packaged-classes/release/libs/retrofit-2.4.0.jar'))
    from(project.zipTree('build/intermediates/packaged-classes/release/libs/okio-1.15.0.jar'))
    destinationDir = file('build/libs')
}
makeJar.dependsOn(build)

5、如果是在gradle中使用compile 'com.xxx.xxx:xxx:1.0'的方式引入的

image.png

你android studio中每個(gè)項(xiàng)目目錄下都有這個(gè)外部類(lèi)庫(kù),如果你在gradle中通過(guò)compile '...'的方式引入了其他的庫(kù),那么都會(huì)在這個(gè)地方出現(xiàn)相應(yīng)的jar包,這是gradle緩存的文件,你選中你想要的那個(gè)jar包,右鍵->選擇"Copy Path"->記事本中粘貼出這個(gè)路徑,然后你就根據(jù)這個(gè)路徑找到這個(gè)jar包在你電腦的哪里了。
可以將這個(gè)jar包復(fù)制到module中的libs文件下,然后打jar包過(guò)程如4。
注意:不同AndroidStudio版本,build/intermediates/packaged-classes/release/classes.jar路徑是不同的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容