看了好多相關的博客,發現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' //打包時排除文件
}
