保姆级别使用android studio 生成jar包
•
移动开发
目录
1首先生成一个android library
2 找到刚才创建的项目build.Gradle —–build.Gradle(:mylibrary)
3 写入最关键的执行代码
4 点击启动按钮
5 可以看到生成一个jar包了
6 如果一个jar包依赖了其他包,也可以直接一起打包依赖包。
7 使用jar包
1首先生成一个android library
File —New—New Module

选择Android Library,创建即可

2 找到刚才创建的项目build.Gradle —–build.Gradle(:mylibrary)
project 状态下

android 状态下

3 写入最关键的执行代码
def SDK_BASENAME = "YADI";
def SDK_VERSION = "_V1.0";
def OUTPUT_PATH = "build";
def INPUT_PATH = file('build/intermediates/packaged-classes/release/classes.jar')
//删除任务
task deleteBuild(type: Delete) {
delete OUTPUT_PATH + SDK_BASENAME + SDK_VERSION + ".jar"
}
//创建任务
task makeJar(type: Jar) {
//需要打包的原始classes.jar
from zipTree(INPUT_PATH)
// //将assets目录打入jar包
// from fileTree(dir: 'src/main',includes: ['assets/**'])
//生成文件名字
baseName = SDK_BASENAME + SDK_VERSION
//生成
destinationDir = file(OUTPUT_PATH)
}
makeJar.dependsOn(deleteBuild, build)
很多时候,我们知道代码怎么写,但是不知道在哪里写,一般写在dependencies
闭环下面

4 点击启动按钮

5 可以看到生成一个jar包了
上面的def OUTPUT_PATH = “build”;
就是生成jar的位置
def INPUT_PATH = file(‘build/intermediates/packaged-classes/release/classes.jar’)
而这个是要打包成jar的文件

6 如果一个jar包依赖了其他包,也可以直接一起打包依赖包。
我公司项目中需要再次使用到依赖包,所以就直接打包在一起了,不过so文件不知道怎么打包,只能做到把有使用到的谷歌包和对接包一起打包
只要找到对应的文件夹,对应文件名,既可一起打包成为一个新的jar包
def SDK_BASENAME = "YADI";
def SDK_VERSION = "_V1.0";
def OUTPUT_PATH = "build";
def INPUT_PATH = file('build/intermediates/packaged-classes/release/classes.jar')
def INPUT_PATH1 = file('build/libs/libs/BLNetwork.jar')
def INPUT_PATH2 = file('build/libs/libs/gson-2.2.4.jar')
//删除任务
task deleteBuild(type: Delete) {
delete OUTPUT_PATH + SDK_BASENAME + SDK_VERSION + ".jar"
}
//创建任务
task makeJar(type: Jar) {
//需要打包的原始classes.jar
from zipTree(INPUT_PATH)
from zipTree(INPUT_PATH1)
from zipTree(INPUT_PATH2)
// //将assets目录打入jar包
// from fileTree(dir: 'src/main',includes: ['assets/**'])
//生成文件名字
baseName = SDK_BASENAME + SDK_VERSION
//生成
destinationDir = file(OUTPUT_PATH)
}
makeJar.dependsOn(deleteBuild, build)
如下图,执行完生成代码,已经可以看到两个jar合在一起了。就可以直接放在项目中使用了

7 使用jar包
只需要放到项目的lib里,写一句关联代码就可以使用了
implementation project(':mylibrary')
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/8172b027f1.html
