简单的问题。 我得到了这个strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_id_prod">XXXXXXX</string>
<string name="app_id_test">YYYYYYY</string>
<string name="test_mode">YYYYYYY</string>
</resources>
清单文件需要阅读&#34; app_id_prod&#34;或&#34; app_id_test&#34;基于&#34; test_mode&#34;值可以说是TRUE或false。
关于如何做到这一点的任何想法?
编辑:像
这样的东西<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.games.APP_ID"
if(!test_mode)
<android:value="@string/app_id_prod" />
else
<android:value="@string/app_id_test" />
<meta-data>
...
</application>
答案 0 :(得分:3)
使用Gradle Android插件资源合并和product flavors这样的变体。
例如,假设您有构建版本test
和prod
。然后在@string/app_id
下放置包含src/{test,prod}/res/values
的资源文件(假设默认源路径),并在清单中将字符串引用为@string/app_id
。
(您可能不需要口味,可以使用debug
和release
变体进行类似的变体。)