1、新建一个项目
image.png2、项目中新建一个module
image.png3、修改新module下的build.gradle文件
image.pngtask 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的命令窗口里点击启动
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中每个项目目录下都有这个外部类库,如果你在gradle中通过compile '...'的方式引入了其他的库,那么都会在这个地方出现相应的jar包,这是gradle缓存的文件,你选中你想要的那个jar包,右键->选择"Copy Path"->记事本中粘贴出这个路径,然后你就根据这个路径找到这个jar包在你电脑的哪里了。
可以将这个jar包复制到module中的libs文件下,然后打jar包过程如
4
。注意:不同AndroidStudio版本,build/intermediates/packaged-classes/release/classes.jar路径是不同的。
网友评论