日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

AndroidStudio 用Gradle把Moudle打成jar包

發(fā)布時間:2023/12/29 Android 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AndroidStudio 用Gradle把Moudle打成jar包 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

說明:

AndroidStudio 把Moudle打成jar包,使用Gradle命名配置要打包的內(nèi)容,然后使用命令行執(zhí)行打包。

大哥們寫文章很累,轉(zhuǎn)載請說出處呀!AndroidStudio 把Moudle打成jar包

項目結(jié)構(gòu):

juhepay是項目,juhepaysdk是這個項目依賴的Moudle,目的是吧juhepaysdk大成jar包,放到app的libs下面能繼續(xù)使用。

步驟:

1、首先在juhepaysdk(你要打包成jar的Moudle)下面的build.gradle里面寫入要打包的語句:

build.gradle:在android{ }里面添加如下代碼

?

//打jar包// Copy類型task makeJar(type: Jar) {archiveName = 'baofoo-juhepay-v1.0-demo.jar' //最終jar包的名稱from(project.zipTree('build/intermediates/bundles/release/classes.jar')) //需要打的juhepaysdk的編譯文件from(project.zipTree('build/intermediates/bundles/release/libs/banksdk.jar')) //需要打的juhepaysdk所以來的jar包from(project.zipTree('build/intermediates/bundles/release/libs/libammsdk.jar')) //需要打的juhepaysdk所以來的jar包destinationDir = file('build/libs') //jar包輸出路徑}makeJar.dependsOn(build) //必須寫的配置
然后在AndroidStudio-Terminal中輸入命令: ./gradlew makeJar 或者在Android Studio右側(cè) Gradle - 要打包的module - Tasks - ohter - 雙擊makeJar
項目就會執(zhí)行命令,最終會在juhepaysdk-build-libs下面生成baofoo-juhepay-v1.0-demo.jar包。

?

2、上面的操作的截圖

命令行執(zhí)行最終出現(xiàn):

?

這樣就jar包就打成了。

命令行原理:

其實打包的原理就是把Moudle(juhepaysdk包)運行編譯后的classes.jar文件改個名字變成自己的jar包。

如果你的Moudle(juhepaysdk包)沒有依賴第三方jar包,你不用操作操作上面的步驟,不用寫命令執(zhí)行命令,直接把classes.jar拷貝走就可以直接使用了。

但是大部分的Moudle(juhepaysdk包)會依賴第三方庫,例如微信支付等jar包,這個時候就不能單單的把classes.jar打包走這么簡單了,還需要把這些第三方庫一起打進去。

這里我遇到了一個大坑:

最早我直接把from的地址攜程libs下面的jar文件了,這樣打成的jar包會出現(xiàn)包沖突,如下錯誤打包方式:

而是應該把編譯好的第三方jar包和classes.jar一起打進jar包,下面是正確的打包方式:

至此打包完成,真的很浪費時間,還是以前的Eclipse使用的工具直接打包簡單。

出錯坑二:

如果在運行 gradlew makeJar 命令時出現(xiàn)如下錯誤(mylibrary為我的library庫的名稱):

?

Execution failed for task ':mylibrary:lint'. > Lint found errors in the project; aborting build. 則在mylibrary目錄下的build.gradle文件中,加入下面的代碼塊(注意代碼塊所在的位置),重新執(zhí)行 gradlew makeJar 命令即可:

?

?

lintOptions {abortOnError false}

?

注釋:打包命令task...放在android里面和外面都可以!

?

或者用系統(tǒng)自帶的工具執(zhí)行命令:

找到你的Module下面的build.gradle,右側(cè)工具Gradle,找到對應Module下面的makejar雙擊執(zhí)行

?

PS~代碼另一種寫法:

?

task makeJar(type: Copy) {delete 'build/libs/IMAF.jar'from('build/intermediates/bundles/release/')include('classes.jar')into('build/libs/')rename ('classes.jar', 'IMAF.jar') }
這種寫法和上面的寫法第一排區(qū)別是:這里用的Copy只是把classes.jar包拷貝成IMAF.jar包了,適合沒有以來的Moudle項目,如果你的Moudle有依賴,則還是用Jar命令吧!

?

總結(jié)

以上是生活随笔為你收集整理的AndroidStudio 用Gradle把Moudle打成jar包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。