有排除部分Java文件需求的
1、首先将build.gradle文件中的apply plugin: 'com.android.application‘修改为apply plugin: 'com.android.library‘,并删除项目中的Activity文件,不然会报错。
2、修改build.gradle文件
defaultConfig {
minSdkVersion 17
targetSdkVersion 21
}
注:删除applicationId这一项,版本17,、21可以修改成自己原有的
3、gradle文件中最后加上代码:
task buildJar(type: Jar, dependsOn: ['build']) {
//导出的jar文件名称
archiveName = 'start.jar'
//从哪个目录打包jar
from('build/intermediates/classes/debug')
//导出的jar文件的存放目录(未指定则默认存放在build/libs下)
destinationDir = file('D:/libs')
//去掉不要的类
exclude('com/reginer/assetstest/BuildConfig.class')
exclude('com/reginer/assetstest/BuildConfig\$*.class')
exclude('**/R.class')
exclude('**/R\$*.class')
exclude('com/yitong/fjydyx/exterbox/*.class')
4、点击图中buildJar项开启编译
5、如果出现以下错误信息
Error:Execution failed for task ':app:lint'.
> Lint found errors in the project; aborting build.
Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
lintOptions {
abortOnError false
}
}
...
则在build.gradle文件android{}中加上以下代码
lintOptions {//设置编译的lint开关,程序在buid的时候,会执行lint检查,有任何的错误或者警告提示,都会终止构建
abortOnError false
}
这样就可以了,jar包保存在D盘libs文件夹下
附上build.gradle全文:
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
minSdkVersion 8
targetSdkVersion 25
}
lintOptions {//设置编译的lint开关,程序在buid的时候,会执行lint检查,有任何的错误或者警告提示,都会终止构建
abortOnError false
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
}
task buildJar(type: Jar, dependsOn: ['build']) {
//导出的jar文件名称
archiveName = 'start.jar'
//从哪个目录打包jar
from('build/intermediates/classes/debug')
//导出的jar文件的存放目录(未指定则默认存放在build/libs下)
destinationDir = file('D:/libs')
//去掉不要的类
exclude('com/reginer/assetstest/BuildConfig.class')
exclude('com/reginer/assetstest/BuildConfig\$*.class')
exclude('**/R.class')
exclude('**/R\$*.class')
exclude('com/yitong/fjydyx/exterbox/*.class')
}
整个项目Java文件都需要编译进jar包的
delete 'build/libs/yutils.jar'
}
task makeJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/libs/')
include('classes.jar')
rename ('classes.jar', 'yutils.jar')
}
makeJar.dependsOn(clearJar, build)