Gradle 同时生成 Jar 和 AAR

build.gradle文件中加入以下代码

android.libraryVariants.all { variant ->
    def name = variant.buildType.name
    if (name.equals(com.android.builder.core.BuilderConstants.DEBUG)) {
        return
    }
    def task = project.tasks.create "jar${name.capitalize()}Package", Jar
    task.dependsOn variant.javaCompile
    task.from variant.javaCompile.destinationDir
    artifacts.add('archives', task)
}

此时会生成一个jarReleasePackage(根据 variant 的不同也可能为 jarDebugPackage 等)。需要注意的是该 Task 只能在 gradle tasks --all时才能看到,使用gradle tasks是看不到的。

如果使用了mavenDeployer ,那么这个 JAR 包和 AAR 包会同时上传到服务器上。