build目录生成的关键文件
我们打包.Jar文件的编译文件 build.gradle 是通过 apply plugin: 'com.android.library' 修饰的library包,直接编译build就能在目录文件中找到.class文件 .class文件就是我们需要的.jar包。
Android Studio3.0的目录在build/intermediates/bundles/中, debug和release分别是测试版和正式版。我们可以通过直接解压查看是否混淆。
Android Studio3.0的class文件源码在build/intermediates/classess 文件中。
重载编译指令将.jar包
虽然我们最简单是通过gradlew build指令完成,但是我们可能还需要完成对.jar文件进行重命名和去除不需要的.R文件等需求。所有我们可以在module项目中的build.gradle中编写脚本,完成上面的需求。
//亲测 3.0以上不能删除导致以为出错,直接手动删除 task clearJar(type: Delete) { delete 'libs/chipsea_flylink.jar' } //获取到需要到处的文件 def releaseJar = file('build/intermediates/bundles/release/classes.jar') //构建指令脚本 task makeJar(type: Jar) { //指定生成的jar名 baseName 'test' //从哪里打包class文件 路径默认打包到build/libs from zipTree(releaseJar) //去掉不需要打包的目录和文件 exclude('test/', 'BuildConfig.class', 'R.class') //去掉R$开头的文件 exclude { it.name.startsWith('R$'); } } //makeJar依赖clearJar和build指令 makeJar.dependsOn(clearJar, build)