第一步:在項目中新建一個moudle mylibrary作爲library
第二步:並將項目中原有的app moudle依賴此mylibrary
第三步:運行該app或者build該app後會在mylibrary moudle的build/intermediates/bundles/debug or release/classes.jar目錄下生成classer.jar
第四步:在mylibrary的build.gradle中添加如下代碼
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.3.1'
testCompile 'junit:junit:4.12'
}
def SDK_BASENAME = "TestSdk";
def SDK_VERSION = "_V1.0";
def sdkDestinationPath = "build";
def zipFile = file('build/intermediates/bundles/release/classes.jar')
task deleteBuild(type: Delete) {
delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"
}
task makeJar(type: Jar) {
from zipTree(zipFile)
from fileTree(dir: 'src/main',includes: ['assets/**'])//將assets目錄打入jar包
baseName = SDK_BASENAME + SDK_VERSION
destinationDir = file(sdkDestinationPath)
}
makeJar.dependsOn(deleteBuild, build)
第五步:在mylibrary的build.gradle中再添加如下代碼,如果不添加會報錯
android{
lintOptions{
abortOnError false
}
}
第六步:點擊mylibrary的build.gradle右上角的sync now或者重新build該project
第七步:雙擊右邊的gradle目錄下的makeJAr
運行完後在run視圖中能看到如下信息
第八步:在mylibrary的build目錄下如果出現如下圖中的TestSdk_V1.0.jar就說明自定義生成jar成功
第九步:複製該TestSdk_V1.0.jar到你需要用到的moudle中的libs目錄下就可以使用了