In version 4 of the Android SDK they have stripped out the ability to programmatically point your code to a test RSID vs a production RSID. This makes it very difficult to test your application without flooding your real analytics database with test data.
When asking their customer support about this issue, they just confirmed to me that it is not possible for 4.x. It really gives me "great confidence" that they are in touch with their customers' needs. I guess the good news is that there is plenty of competition out there doing a much better job.
Customer support is correct, it's no longer possible to set RSID or tracking server programmatically in any of the 4.x libraries. We have moved to a configuration file to support a variety of upcoming enhancements (including post-release configuration changes, points of interest updates, and a few other tasty features we're not able to talk about yet).
I can totally understand how this can be frustrating initially -- especially if you're used to the previous way the libraries worked -- but we feel that programmatic configuration can lead to bigger issues with releases (and to poor development practices). The ability to configure your app for different modes (test/dev/qe/release) is better handled using one of the methodologies below:
Android - Use a build configuration tool like Maven or Gradle to inject the proper config file for the given build at compile time.
iOS/OSX - Use a separate target for each build type, and only include the proper config file in each target.
BlackBerry10 - Set your config file on a per-release-basis in the bar-descriptor.xml file for your application.
Similar methodologies can be used for other platforms (specifically WinRT/Windows Phone), and we'll provide documentation around those platforms when we provide the 4.x versions.
Adobe Marketing Cloud - Mobile Engineering Team Lead