1. 程式人生 > >Android studio生成jar包,及上傳Jcenter

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