使用gradle打包包含assets目录的jar包

时间:2023-01-21 14:38:08

步骤:
1、

apply plugin: 'com.android.library'

这一步是声明为library组件;library组件不需要applicationId,把这个删掉。
2、
在android{}里面增加:

lintOptions{
abortOnError false
}

这个是为了屏蔽掉lint的错误
3、

minifyEnabled false

4、

def zipFile = file('build/intermediates/bundles/release/classes.jar')
task deleteJar(type: Delete) {
delete 'build/outputs/ucmsdk.jar'
}

task makeJar(type: Jar) {
//目标文件名
archiveName = 'usmsdk.jar'
//目标目录
destinationDir = file('build/outputs/‘)
//包含编译的class文件
from zipTree(zipFile)
//包含资源目录
from fileTree(dir: '
src/main',includes: ['assets/**'])
//去除 R文件和MainActivity文件
exclude('**/
R*’,’**/MainActivity*')
}

//先删除已有的jar,在打包

makeJar.dependsOn('deleteJar',build)

5、再在terminal中执行./gradlew build
6、执行 ./gradlew makeJar