前言
我们都知道使用eclipse可以轻松的导出Jar包,并且可以选择包含assets下的文件,但把项目迁移到Android Studio后就无法愉快的导出Jar包了。虽然Android Studio不支持导出Jar包,但我们可以通过Gradle实现,并且支持添加assets下的文件。
准备
要想导出Jar包,首先我们要有一个包含Android Library模块的Android Studio项目,即在模块的build.gradle中包含如下一行代码
apply plugin: 'com.android.library'
配置
在Library模块的build.gradle文件中添加如下代码
ext {
JAR_NAME = 'sdk'
JAR_VERSION = '1.0'
JAR_DESK_DIR = 'build/outputs'
ORIGINAL_JAR_PATH = 'build/intermediates/bundles/release/classes.jar'
}
project.afterEvaluate {
Task cleanSdk = tasks.getByPath('clean')
Task bundleSdk = tasks.getByPath('bundleRelease')
bundleSdk.mustRunAfter cleanSdk
makeJar.dependsOn cleanSdk, bundleSdk
}
task makeJar(type: Jar) {
from zipTree(file(ORIGINAL_JAR_PATH))
// 添加assets文件夹,如果不需要请删除该行
from fileTree(dir: 'src/main', includes: ['assets/**'])
baseName "${JAR_NAME}-${JAR_VERSION}"
destinationDir file(JAR_DESK_DIR)
}
打包
在终端输入Gradle打包命令
gradlew makeJar
如果看到BUILD SUCCESSFUL
说明打包成功,否则就要根据log检查下哪里出了问题。
如果提示Execution failed for task ':xxx:lint'
说明项目有拼写错误,在模块的build.gradle文件的android标签下添加以下代码即可
lintOptions {
abortOnError false
}