Android studio生成jar
Android studio在gradlew build
的时候会生成build文件夹.
然后可以找到build/intermediates/bundles/release/classes.jar
文件
这个文件就是我们需要导出的jar包,我们可以给他改下名字
方法一:
在相应的模块的gradle中,添加下面task,修改jar包改名
原理:
mysdk就是我们要给jar包取得名字==
1. task makeJar(type: Copy) {
2. delete 'build/libs/mysdk.jar'
3. from('build/intermediates/bundles/release/')
4. into('build/libs/') //修改之后包的目录
5. include('classes.jar')
6. rename ('classes.jar', 'mysdk.jar')
7. }
8. makeJar.dependsOn(build)
然后执行gradlew(gradle) makejar 即可在build的lib文件中找到jar包
方法二:
如果Class.jar中包含一些我们不需要的文件,如:config,R文件等.
可以在当前的build.gradle文件中添加如下task,打包成我们需要的jar.
//先清除存在的jar
task clearJar(type: Delete) {
delete fileTree(dir: 'build/libs' , include: 'googlebilling*.jar')
}
//makejar打包jar包
task makeJar(type:org.gradle.api.tasks.bundling.Jar) {
//指定生成的jar名
baseName 'googlebilling-1.0.1'
//从哪里打包class文件
from('build/intermediates/classes/release/com/znq/googlebilling/')
//打包到jar后的目录结构
into('com/znq/googlebilling')
//去掉不需要打包的目录和文件
exclude('BuildConfig.class', 'R.class',"MainActivity.class")
//去掉R$ 开头的文件
exclude{it.name.startsWith('R$');}
}
makeJar.dependsOn(clearJar, build)
上传.Arr到jcenter
在module中build.gradle首端加配置
apply plugin: 'com.novoda.bintray-release'
在gradle尾端加入
publish {
userOrg = 'popon' // 你bintray.com用户名
groupId = 'com.znq' //jcente上的路径
artifactId = 'poponlogger' //项目名称
publishVersion = '1.0.0' //版本号
desc = 'Oh hi, this is android logger'//描述,不重要
website = 'https://github.com/zybieku/Logger'//网站
}
在project的gradle中添加
classpath 'com.novoda:bintray-release:0.3.4'
//解决中文注释乱码
allprojects {
tasks.withType(Javadoc) {
options{
encoding "UTF-8"
charSet 'UTF-8'
links "http://docs.oracle.com/javase/8/docs/api"
}
}
}