看了好多相关的博客,发现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' //打包时排除文件 }