Android studio生成jar包,及上传Jcenter

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"
        }
    }
}

猜你喜欢

转载自blog.csdn.net/zybieku/article/details/78866337