Reputation: 20470
The default package is xxx-debug.aar
or xxx-release.aar
, Is it possible to generate a package name like xxx-v0.12-release.aar
?
Upvotes: 2
Views: 2853
Reputation: 2742
Below code can be added in library build.gradle and rebuild project
android {
defaultConfig {
minSdkVersion ..
targetSdkVersion ..
versionCode ...
versionName "1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
}
libraryVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = "${archivesBaseName}_${variant.name}_${defaultConfig.versionName}.aar"
}
}}
Upvotes: 0
Reputation: 2119
I'm using Gradle 5+, and this one works for me
libraryVariants.all { variant ->
variant.outputs.each { output ->
output.outputFileName = "my-lib-${variant.name}-v${defaultConfig.versionCode}(${defaultConfig.versionName}).aar"
}
}
Output will be
my-lib-release-v5(0.0.4).aar
Upvotes: 2
Reputation: 932
Try this:
android {
compileSdkVersion ...
defaultConfig {
minSdkVersion ...
targetSdkVersion ...
versionCode 1
versionName "0.0.1"
}
buildTypes {
release {
...
}
}
android.libraryVariants.all { variant ->
variant.outputs.all { output ->
if (outputFile != null && outputFileName.endsWith('.aar')) {
outputFileName = "${archivesBaseName}-${variant.name}-${defaultConfig.versionName}.aar"
}
}
}
}
Don't forget to re-build your project (Build->Rebuild Project)
Output will be like:
yourModuleName-debug-0.0.1.aar
Upvotes: 3
Reputation: 71
You can use the libraryVariants
block and do something like below.
defaultConfig {
...
versionCode xx
versionName "yy.zz"
}
buildTypes {
release {
...
android {
libraryVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.aar')) {
def fileName = outputFile.name.replace("${variant.name}.aar",
"v${defaultConfig.versionName}-${variant.name}.aar")
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
}
}
Upvotes: 2