因为是生成sdkjar包,会使用到library项目。所以需要自己写build.gradle代码方能满足打包SDKjar的需求
主要思路是利用gradle的Jar、Copy。
1.首先、将编译好的class文件copy到一个指定的文件夹下面代码如下
task copyclasses(type: Copy) {
// libray项目的class文件
from("${rootDir}/adhoc_library/build/intermediates/classes/release")
// sdk 项目文件 还可以加入其他项目的文件
from("${rootDir}/android_sdk_v0/build/intermediates/classes/release")
// 合并到一个目录下面
into("${rootDir}/android_sdk_v0/myrelease")
}
2.利用Gradle Jar打包sdk ,在 build/lib文件夹下找到jar包
task sdkjar(type: Jar) {
//指定生成的jar名
baseName "adhoc-v${android.defaultConfig.versionName}"
//从哪里打包class文件
from("${rootDir}/android_sdk_v0/myrelease")
//打包到jar后的目录结构
// into("${rootDir}/android_sdk_v0/myrelease")
//去掉不需要打包的目录和文件
exclude('test/', 'BuildConfig.class','R.class')
//去掉R$开头的文件
exclude {
it.name.startsWith('R$');
}
}