我有以下应用程序build.gradle
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "io.gresse.hugo.anecdote"
minSdkVersion 16
targetSdkVersion 23
versionCode 12
versionName "1.0.0"
}
buildTypes {
release {
archivesBaseName = "anecdote-" + defaultConfig.versionName
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
archivesBaseName = "anecdote-DEBUGDEBUGDEBUG-"
}
}
}
当我执行时./gradlew assembleRelease assembleDebug
输出的.apk是:
- anecdote-DEBUGDEBUGDEBUG-debug-unaligned.apk
- anecdote-DEBUGDEBUGDEBUG-debug.apk
- anecdote-DEBUGDEBUGDEBUG-release-unaligned.apk
- anecdote-DEBUGDEBUGDEBUG-release.apk
我想要什么:
- anecdote-DEBUGDEBUGDEBUG-debug-unaligned.apk
- anecdote-DEBUGDEBUGDEBUG-debug.apk
- anecdote-1.0.0-release-unaligned.apk
- anecdote-1.0.0-release.apk
有没有什么办法可以申请档案库名称到特定的构建类型或者这是一个错误?
Thanks,
正如您可能注意到的,这个问题很混乱。
相关答案here https://stackoverflow.com/a/18334677/1377145 and here https://stackoverflow.com/a/20660274/1377145.
这对我有用。我想保持简单archiveBaseName
但它似乎已被弃用并且适用于所有构建类型。
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "io.gresse.hugo.anecdote"
minSdkVersion 16
targetSdkVersion 23
versionCode 12
versionName "1.0.0"
}
project.ext.set("archivesBaseName", "Anecdote");
applicationVariants.all { variant ->
variant.outputs.each { output ->
if(variant.buildType.name == "release"){
output.outputFile = new File(
output.outputFile.parent,
output.outputFile.name.replace(".apk", "-"+variant.versionName + ".apk"))
}
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)