Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Brandable Android Application

We service multiple clients. One feature we want to offer is an android application which allows the client to custom brand the application (icons, logos, names, etc).

Here are a few stipulations.

  1. Customers of clients will use this app.
  2. You could be a customer of more than one client, but we cannot show the user any kind of list of clients.
  3. Clients cannot share a single app.
  4. The app must be able to look different per client, even though the functionality is the same

Yes, I know it's a PITA to build it this way, but our clients don't want customers of other clients to know they are also our client.

So, what is the best way to build an easily brandable application with as little strain on the developer's sanity as possible?

like image 337
Josh Avatar asked Feb 26 '23 02:02

Josh


2 Answers

Keep a separate res/ folder for each version of the app. Give every icon, logo and String the same name but tailor the content for each client, and build a different .apk for each by simply dropping that res folder into the build. I don't think you can make custom qualifiers work for this and just make a single .apk - and this would in any case bundle every client's custom pictures and Strings in to everyone's application.

like image 198
Jems Avatar answered Feb 27 '23 17:02

Jems


I would start by developing a script for a global re-name, since you'll need that anyway (can be done fairly simply with find, xargs and sed)

You'll need tools for making the customizations to resources, that could be the SDK & Eclipse plug-in

Perhaps you could create some kind of wizard extending the Eclipse plug-in.

Or with a lot of work but easier usage, you could do something stand alone that drives the necessary command line tools to build the generated package.

like image 31
Chris Stratton Avatar answered Feb 27 '23 16:02

Chris Stratton