赞
踩
目录
2 找到刚才创建的项目build.Gradle -----build.Gradle(:mylibrary)
6 如果一个jar包依赖了其他包,也可以直接一起打包依赖包。
File ---New---New Module
选择Android Library,创建即可
project 状态下
android 状态下
- 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
闭环下面
上面的def OUTPUT_PATH = "build";
就是生成jar的位置
def INPUT_PATH = file('build/intermediates/packaged-classes/release/classes.jar')
而这个是要打包成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合在一起了。就可以直接放在项目中使用了
implementation project(':mylibrary')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。