2010-05-11 7 views
2

Je construis une suite d'applications, ce qui signifie que je n'ai qu'un seul jeu de code qui est personnalisé par un seul changement d'une clé API. Cela signifie que toutes les applications ont les mêmes activités, les mêmes comportements, mais des icônes différentes, des noms de paquets et des noms d'applications en fonction du client pour lequel je suis en train de construire.Comment puis-je mieux gérer les noms de paquets en construisant une suite d'applications android

Malheureusement, je n'ai pas trouvé un moyen propre de le faire. Étant donné que le nom de package est ce que l'Android Marketplace utilise, je l'ai modifié en com.nilobject.productname.clientname. Cependant, cela modifie le package pour que toutes les activités ne soient plus dans le package de l'application, car elles résident dans "com.nilobject.productname". De plus, le "R" autogéré se déplace, donc toutes les références à R dans com.nilobject.productname sont rompues.

Est-ce que quelqu'un d'autre a traité ce problème? J'utilise Eclipse pour le développement. Devrais-je simplement refactoriser les activités avec chaque construction pour être dans le même paquet? Y a-t-il un système pour cela que je ne connais pas?

Merci pour vos idées et votre aide!

+0

Il est quatre mois, avez-vous déjà trouvé une bonne réponse à cela? – HXCaine

+1

Non, je ne l'ai pas fait. J'ai créé un script shell pour automatiser le processus de modification de toutes les importations du répertoire source qui fait référence à R. C'est moche, mais je ne peux pas décider s'il est plus laid que de créer un calque autour de R comme seule importation mettre à jour ce fichier. – NilObject

Répondre

1

Je suis allé sur cette route avec 3 projets différents. Une application nécessitait des versions «régulières» et «pro», une autre nécessitait une version de la même application pour chacun des États américains et un autre projet consistait à livrer la même application à trois clients différents ayant chacun des graphismes et des couleurs légèrement différents.

Quoi qu'il en soit, c'est l'approche qui a le mieux fonctionné pour moi, et je l'ai utilisé dans tous les trois des projets multi-cibles que je travaille sur ...

http://developer.android.com/guide/developing/eclipse-adt.html#libraryProject

Questions connexes