Some Android libraries such as Google Analytics use resources for configuration purposes (e.g. ga_trackingId).

In these cases, I have different values for debug and production. What I currently do is manually comment the production values when I'm debugging, and viceversa. It looks like this:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--  DEBUG -->
    <string name="ga_trackingId">UA-12345678-1</string>
    <integer name="ga_dispatchPeriod">1</integer>
    <bool name="ga_debug">true</bool>

    <!--  PRODUCTION -->    
    <!--string name="ga_trackingId">UA-87654321-1</string>
    <integer name="ga_dispatchPeriod">120</integer>
    <bool name="ga_debug">false</bool-->
</resources>

This way of switching configuration is tedious and error-prone, and generates unnecessary repository changes if I'm not careful. Is there a better way?

(e.g.: on iOS I use conditional compilation with the IF DEBUG macro)

Edit
Report