How to change app name per Gradle build type
You can use something like this
buildTypes {
debug {
applicationIdSuffix '.debug'
versionNameSuffix '-DEBUG'
resValue "string", "app_name", "AppName debug"
}
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
zipAlignEnabled true
resValue "string", "app_name", "AppName"
}
}
You can use @string/app_name in AndroidManifest.xml files.
Make sure you remove app_name from values/ folder (no entry by this name).
If by "app name", you mean android:label
on <application>
, the simplest solution is to have that point at a string resource (e.g., android:label="@string/app_name"
), then have a different version of that string resource in a src/debug/
sourceset.
You can see that in this sample project, where I have a replacement for app_name
in src/debug/res/values/strings.xml
, which will be applied for debug
builds. release
builds will use the version of app_name
in src/main/
.