看了好多相關的博客,發現AndroidStudio似乎很喜歡改變打包后的導出位置。
1、新建一個項目
2、項目中新建一個module
3、修改新module下的build.gradle文件
task makeJar(type: Copy) { //如果什么都不寫就生成在默認的路徑下,也就是下文的build/intermediates/aar_main_jar/release/下,build目錄是在當前module的文件夾下,比如我的就是在activity下。 //刪除 delete 'build/output/activity.jar' //打包好的jar包在這個目錄,至少這個版本的module打包后是在aar_main_jar這個目錄下 from('build/intermediates/aar_main_jar/release/') //打包好的jar包移到這 into('build/libs/') //將classes.jar放入build/libs/目錄下 //include ,exclude參數來設置過濾 //(我們只關心classes.jar這個文件) include('classes.jar') //重命名 rename('classes.jar', 'activity.jar') } //執行 makeJar.dependsOn(build)
添加這些代碼后就可以在Terminal中運行gradlew makeJar,然后成功了就可以在上述目錄里找到jar包了,如果你嘗試了發現不對,那就得辛苦點了,在build/intermediates/目錄下一個一個找吧!
也可以在gradle的命令窗口里點擊啟動
如果是打包給unity使用:(遇到的錯誤的解決方式:https://www.cnblogs.com/DCD112358/p/13673787.html)
// 打包大概率需要使用unity的包,至於位置自己去搜搜應該都有。 // 打包給unity使用的包只需要類文件,不需要META-INF/androidx.core_core.version // 如果出現了這個文件那么需要去掉的話可以在模塊的build.gradle文件的android層下加上這段代碼: packagingOptions { exclude 'META-INF/androidx.core_core.version' //打包時排除文件 }