以下是我的build.gradle
文件:
...
defaultConfig {
applicationId "app.com.foo.player"
minSdkVersion 18
targetSdkVersion 23
versionCode 1 // increment with every release
versionName "Foo-1.0" // change with every release
setProperty("archivesBaseName", "$versionName")
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
...
我有几个与android apk版本名称相关的问题:
当我构建项目时,生成的apk名称为Foo-1.0-debug.apk。来自'debug'来自何处,它意味着什么,以及如何避免/改变它?
如何为dev和prod版本的应用生成不同的名称?
有没有办法可以自动增加每个版本的版本号和版本名称?
提前致谢。
答案 0 :(得分:3)
要为开发人员和产品生成不同的名称,您可以使用productFlavors,请参阅以下链接。
https://developer.android.com/studio/build/build-variants.html
在gradle中,
productFlavors{
releaseBuild{
buildConfigField "String", "APP_NAME", '"SAMPLE_APP_PRODUCT"'
}
debugBuild{
buildConfigField "String", "APP_NAME", '"SAMPLE_APP_DEBUG"'
}
}
在gradle中设置后,更改BuiltVariant并运行程序
答案 1 :(得分:1)
使用问题1和2,您可以转到项目结构选择选项卡Flavors和Build Type来设置构建配置。
使用问题3,您可以在项目中的build.gradle中创建一个脚本,然后在模块中使用。这里我以秒为单位使用当前时间作为示例: 在项目中:
ext{
minSdk = 14
targetSdk = 23
verCode = getVersion();
verName = "Foo-1.0"
}
def getVersion() {
return new Date().getTime() / 1000;
}
在模块中
defaultConfig {
minSdkVersion minSdk
targetSdkVersion targetSdk
versionCode verCode
versionName verName + verCode
}