Android Studio使用Gradle导出Jar包

2,618 阅读1分钟

前言

我们都知道使用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
}

迁移自我的简书 2016.09.06