[转载]How to set name of AAR output from Gradle

As mentioned in comments below and another answer, the original answer here doesn’t work with Gradle 3+. Per the docs, something like the following should work:

Using the Variant API to manipulate variant outputs is broken with the new plugin. It still works for simple tasks, such as changing the APK name during build time, as shown below:

// If you use each() to iterate through the variant objects,
// you need to start using all(). That's because each() iterates
// through only the objects that already exist during configuration time—
// but those object don't exist at configuration time with the new model.
// However, all() adapts to the new model by picking up object as they are
// added during execution.
android.applicationVariants.all { variant ->
    variant.outputs.all {
          outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}

OLD ANSWER:

I am unable to get archivesBaseName & version to work for me w/ Android Studio 0.8.13 / Gradle 2.1. While I can set archivesBaseName and version in my defaultConfig, it doesn’t seem to affect the output name. In the end, adding the following libraryVariants block to my android {} scope finally worked for me:

libraryVariants.all { variant ->
    variant.outputs.all { output ->
        if (outputFile != null && outputFileName.endsWith('.aar')) {
            outputFileName = "${archivesBaseName}-v${versionName}.aar"
        }
    }
}

https://stackoverflow.com/questions/24728591/how-to-set-name-of-aar-output-from-gradle

Android 项目本地配置化

home 目录下:.gradle/gradle.properties
可以在里面添加本地变量,然后在项目的 build.gradle 配置中引用

如在 .gradle/gradle.properties 中
my_name=xxxx

在 build.gradle 配置之中
${my_name}