wis*_*m46 4 gradle build.gradle android-gradle-plugin
我正在使用gradle为2个小型Android应用程序创建不同的风格,我想知道我是否可以在build.gradle中的xml文件上编辑应用程序名称,以获得不同的风格.
Xav*_*het 15
你什么意思app name
?清单中的应用程序包名称或启动器中显示的应用程序名称?
如果是前者,请:
android {
productFlavors {
flavor1 {
packageName 'com.example.flavor1'
}
flavor2 {
packageName 'com.example.flavor2'
}
}
}
Run Code Online (Sandbox Code Playgroud)
也可以覆盖应用名称,但您必须提供风味覆盖资源.
因此,创建以下文件:
src/flavor1/res/values/strings.xml
src/flavor2/res/values/strings.xml
在它们中只是覆盖包含您的应用程序名称的字符串资源(您的清单用于主要活动标签的那个通过类似的东西@string/app_name
).您还可以根据需要提供不同的翻译.
你可以使用resValue
,例如.
debug {
resValue 'string', 'app_name', '"MyApp (Debug)"'`
}
release {
resValue 'string', 'app_name', '"MyApp"'
}
Run Code Online (Sandbox Code Playgroud)
确保您的AndroidManifest android:label="@string/app_name"
用于应用程序,并从strings.xml中删除app_name,因为它会与strings.xml
尝试合并它们时生成的gradle冲突.
实际上......为了更明确的解释;
\n\n在主build.gradle 中:
\n\next {\n APP_NAME = "My Fabulous App"\n APP_NAME_DEBUG = "My Fabulous App debug"\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n在应用程序build.gradle中:
\n\nandroid {\n buildTypes {\n debug {\n manifestPlaceholders = [appName: APP_NAME_DEBUG]\n }\n release {\n manifestPlaceholders = [appName: APP_NAME]\n }\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n所以在AndroidManifest.xml中
\n\n<application\n ...\n android:label="${appName}"\n >\n
Run Code Online (Sandbox Code Playgroud)\n\n是可能的。瞧\xc3\xa0!您有不同的应用程序名称用于发布和调试。
\n 归档时间: |
|
查看次数: |
8553 次 |
最近记录: |