前言
在开发当中,有一些功能我们是不依赖任何Res 资源的,这个时候我们就可以直接提供业务方jar 包,以避免当中出现一些冗余资源如AAR。下面就 AndroidStudio 3.5.2 版本生成jar 包方式作出笔记。
新建model
新建model 就不在此过多赘述。该model是Library 而不是 application。
model gradle 中添加如下代码
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
// 省略部分代码
buildTypes {
// 省略部分代码
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
compileOnly 'com.github.markzhai:blockcanary-android:1.5.0'
compileOnly 'com.squareup.leakcanary:leakcanary-android:1.5'
}
task makeJar(type: Copy) {
//删除已经存在的 jar
delete 'build/libs/buildDebug.jar'
//设置拷贝的文件
from('build/intermediates/packaged-classes/release/')
//打进jar包后的文件目录
into('build/libs/')
include('classes.jar')
//重命名
rename ('classes.jar', 'buildDebug.jar')
}
makeJar.dependsOn(build)
注意
大家注意 from('build/intermediates/packaged-classes/release/')
这个是 3.+ 版本是这样。2.3 版本呢就不在是该目录了。这也是在实际测时当中遇到的错误问题。
最终执行 makeJar gradle 任务即可,生成jar 包。