通过flavor/debug-build更改字符串资源

Mar*_*fer 7 resources android build

假设我们有strings_test.xml,它存储用于测试的字符串值,应该在调试版本中显示.当apk构建为发布版本时,所有值都应该更改为空字符串,例如<string name="test_some_card_text">@string/empty</string>.

是否有可能实现这一目标?

一如既往,先谢谢.

Mad*_*bar 17

是的,您可以在buildTypes下的app gradle中执行此操作.

 buildTypes {
        mybuild {
                 resValue "string", "test_some_card_text", '"test"'
                 resValue "string", "other_text", '"other"'
                }
         debug {
                 resValue "string", "test_some_card_text", '"test"'
                 resValue "string", "other_text", '"other"'
              }
          }
Run Code Online (Sandbox Code Playgroud)

然后像这样访问它.

getApplicationContext().getResources().getString(R.string.test_some_card_text);
getApplicationContext().getResources().getString(R.string.other_text);
Run Code Online (Sandbox Code Playgroud)

对于构建,您需要选择它build variants并且必须构建它.

  • Madhukar,我相信 @Syzygy 指的是这里部分回答的内容:/sf/answers/3591710321/ 但是,我也无法使用风格来切换 XML 实体(用于字符串)。 (2认同)