Question: Let's say we have strings\_test.xml, which stores string values for testing and should be shown in a debug-release. When the apk gets build as a release version all values should be change to an empty string e.g. `<string name="test_some_card_text">@string/empty</string>`.

Is there a possibility to achieve this?

As always, thanks in advance.

Answer: 
Yes you can do that inside your app gradle under buildTypes..

```
 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"'
              }
          }

```

Then access it like this.

```
getApplicationContext().getResources().getString(R.string.test_some_card_text);
getApplicationContext().getResources().getString(R.string.other_text);

```

For build you need to select that `build variants` and have to build it.
Yes, Gradle lets you override strings. 

* Add this inside buildTypes{} in your app/build.gradle 

debug {
 applicationIdSuffix "debug"
 }
* That should create a directory titled `debug` next to `main`. If not then manually create one. (Seriously, I haven't tried this, but I know this is possible.)
* Then if your `strings_test.xml` is under `res/values`, create similar directory structure under debug/ and put your strings\_text.xml with debug specific strings there. This will show up in your debug build. The ones under release/main/res/values will show up in your release build.

PS: You can override all res and asset data like this according to buildTypes and flavor. You can't **override** Java files though, you could however **add** them.