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: 
As @Aditya Naik said it is possible using Flavors. 
Official doc says

> 
> BuildType -> Flavor -> main -> Dependencies.
> 
> 
> This means that if a resource is declared in both the Build Type and in main, the one from Build Type will be selected.
> 
> 
> Note that for the scope of the merging, resources of the same (type, name) but different qualifiers are handled separately.
> 
> 
> This means that if src/main/res has 
> 
> 
> * res/layout/foo.xml
> * res/layout-land/foo.xml 
> 
> 
> and src/debug/res has
> * res/layout/foo.xml   
>   
> 
>  Then the merged resource folder will contain the default foo.xml from src/debug/res but the landscape version from src/main/res
> 
> 
> 

**for more info visit [Official doc - Resource Merging](http://tools.android.com/tech-docs/new-build-system/resource-merging)**
For those who come here looking for some way to apply a similar method to `raw` resources, I dealt with it using `buildConfigField`.

```
gradle
...
buildTypes {
    debug {
        ...

        buildConfigField "int", "shared_resource_name", 'R.raw.debug_resource_name'

        ...
    }
    prod {
        ...

        buildConfigField "int", "shared_resource_name", 'R.raw.prod_resource_name'

        ...
    }
}

```

Pay attention to the quotes. After that, place `BuildConfig.shared_resource_name` in the files wherever `R.raw.resource_value` used to be accessed directly.

This can be used to other resources I think.