Hervéé Posté(e) 10 février 2011 Share Posté(e) 10 février 2011 Bonjour, Je travaille avec Eclipse et j'ai fait une appli android. On me demande de faire différentes variations de l'appli : son nom doit changer, le nom de son apk de distributiion, la photo de fond d'écran, etc. Toutes choses (sauf le nom du fichier apk de distribution) qui sont dans les ressources ou dans le AndroidManifest.xml et que je peux donc changer facilement, mais je le fais à partir de manips manuelles, dans Eclipse. Existe-t-il un meilleur moyen de procéder ? Je veux dire comment changer les ressources selon une distribution ? Merci pour votre attention. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Morphée Posté(e) 10 février 2011 Share Posté(e) 10 février 2011 J'avoue ne pas très bien comprendre la question. Tu veux dire pouvoir dire "compile avec tels paramètres" ? Si oui, je ne connais de moyens "simple" pour le faire. Mais à ta place, je transformerais le programme principal en librairie, puis je créerais autant de nouveaux projets que j'ai de variantes en incluant la librairie. Il suffirait ensuite d'inclure uniquement la première activité de l'appli dans chaque variante puis de faire appel aux autres dans la librairie. En théorie je me dis que c'est possible, mais j'ai pas testé. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hervéé Posté(e) 10 février 2011 Auteur Share Posté(e) 10 février 2011 Oui je me suis mal exprimé que tu as bien compris la question :lol: Je crois que tu as raison, je ne voix pas moi non plus d'autre solution (d'où la question :( ), mais c'est un peu folk que de disposer de fichiers de paramétrages et de devoir refaire une appli pour chaque valeur de paramètre ?!... la ligne de commande est loin d'être morte, je vois. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Morphée Posté(e) 10 février 2011 Share Posté(e) 10 février 2011 En fait le truc c'est que tu veux faire plusieurs applis sur la même base. Mais çà reste des applis différentes. Android permet de changer facilement le skin et de s'adapter aux tailles d'écrans et langues, mais dupliquer une appli comme tu veux le faire, on ne voit pas çà souvent donc ce n'est pas primordial. C'est à mon avis pour çà que çà n'existe pas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hervéé Posté(e) 14 février 2011 Auteur Share Posté(e) 14 février 2011 Je remonte ce sujet, parce que ça continue à me poser des problèmes. Au départ je veux placer sur le market deux fois la même appli, mais avec des paramètres différents, uniquement en changeant des valeurs dans les ressources. Je conserve donc le même nom de package dans le manifest. Au départ ça me paraissait naturel, sinon à quoi sert de déporter les ressources ? En tous les cas le android market refuse la manip, du moins il considère qu'il s'agit de la même appli. On peut faire mille configs avec des ressources différentes, si l'on conserve le même package, alors l'android market considère qu'il s'agit de la même chose !? Bref je comprends que la solution consiste à faire un package main façade, mais peut être y a-t-il une autre solutiion qui me permettrait de déployer plusieurs fois la même application avec des paramètres diifférents ? Merci de nouveau. Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 14 février 2011 Share Posté(e) 14 février 2011 Si tu veux déployer plusieurs applications dans le market, il faut qu'elles soient différentes (en terme de nom de package déclaré dans le manifest). Mais cela n'oblige pas pour autant que tes classes aient des packages (au sens Java) différents entre tes différentes appli. Tu n'es même pas obligé de mettre dans le manifest le même nom de package que celui des classes de ton appli (mais dans ce cas, il te faudra référencer les classes dans le manifest (les Activity par exemple) par leur nom complet, package Java compris). Ensuite, si tu veux automatiser la personnalisation de ton appli, Eclipse (plus exactement le plugin ADT d'Android) n'est pas la solution. Mais, le SDK étant utilisable en dehors d'Eclipse, en ligne de commande, et étant basé sur Ant pour l'automatisation des tâches, tu as sûrement moyen d'y arriver, en définissant ton propre build file Ant. Il ne te reste plus qu'à te plonger dans la doc Ant ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Hervéé Posté(e) 15 février 2011 Auteur Share Posté(e) 15 février 2011 J'aimerais bien trouver une doc sur les bonnes pratiques là dessus, parce que je voudrais m'engager dans la bonne direction, vu qu'on en est au début du projet. Pour ce qui concerne cet attribut de package dans le manifest, je lis : The package name serves as a unique identifier for the application. It's also the default name for the application process (see the <application> element's process process attribute) and the default task affinity of an activity (see the <activity> element's taskAffinity attribute). Que le unique identifier for the application soit aussi le default name for the application process (c'est clair ! ), est-ce juste un arrangement pratique, sans plus de conséquences, et qu'on est libre de les rendre indépandant si on le veut, ou est-ce que cela a des conséquences dans le système android ? Quand à Ant, ça ne me dérange pas du tout de faire mon build avec, bien au contraire... encore mieux ce serait maven. Cordialement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.