We're white-labeling software a little bit different, just using Eclipse as our primary development environment:
- The main application code goes into an actual Android library project - this includes all Activities, Fragments, layout XMLs and default graphics. Just about everything.
- For every customer we create a dedicated APK project with a dedicated Package Name (also see Chris Stratton's comment to your question). This APK simply links the library above. It consists of nothing more than an
AndroidManifest.xml
referencing the necessary Activities, Services, etc.
- Now we can customize nearly everything of the App very easily:
- Replace a graphic: Simply add a new graphic resource to the APK project with the same name as the original one you want to replace.
- Customize a string: Just add a new strings.xml that overwrites an existing definition
- Customize layout: Overwrite a layout definition by simply using the same file name.
- etc.
This is a very easy and efficient approach for us. It gives nearly unlimited possibilities with little maintenance effort and full Eclipse integration for development and debugging.
Building an Ant script on top of that should be pretty straight forward, too.