Android studio生成jar包,及上傳Jcenter
阿新 • • 發佈:2019-02-03
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"
}
}
}