Est-il possible de créer plusieurs cibles pour un projet Android comme Xcode Target

J'ai travaillé avec iPhone Xcode Traget pour créer plusieurs applications iPhone avec une base de code unique. Ma question, est-il possible de créer plusieurs cibles pour le projet Android. Si oui, est-il possible avec Eclipse?

Modifier:

Xcode Target: Un seul projet peut contenir une ou plusieurs cibles, chacune produisant un produit (App). Cela n'a toujours qu'un seul projet dans lequel nous pouvons sélectionner la cible spécifique et exécuter l'application souhaitée

IPhone ont un seul projet pour de nombreux produits (App1, App2, App3, etc.) Maintenant, puis-je avoir le même, un projet Android et plusieurs produits (App1, App2, App3 etc.)

Merci d'avance

4 Solutions collect form web for “Est-il possible de créer plusieurs cibles pour un projet Android comme Xcode Target”

Après une large recherche, j'ai réalisé que le projet de bibliothèque Android fournirait une solution à mes besoins

Un projet de bibliothèque Android est un projet de développement qui détient un code source et des ressources partagé. D'autres projets d'applications Android peuvent faire référence au projet de la bibliothèque et, au moment de la construction, inclure ses sources compilées dans leurs fichiers .apk. Plusieurs projets d'application peuvent faire référence au même projet de bibliothèque et tout projet d'application unique peut faire référence à plusieurs projets de bibliothèque.

Remarque: Vous avez besoin d'outils SDK r14 ou plus récents pour utiliser la nouvelle fonction de projet de bibliothèque qui génère chaque projet de bibliothèque dans son propre fichier JAR. Vous pouvez télécharger les outils et les plates-formes à l'aide du SDK et AVD Manager d'Android, comme décrit dans Ajout de composants SDK.

• Si vous avez un code source et des ressources communs à plusieurs projets Android, vous pouvez les déplacer vers un projet de bibliothèque afin qu'il soit plus facile à entretenir sur les applications et les versions. Voici quelques scénarios courants dans lesquels vous pouvez utiliser les projets de bibliothèque:

• Si vous développez plusieurs applications connexes qui utilisent certains des mêmes composants, vous déplacez les composants redondants à partir de leurs projets d'application respectifs et créez un seul ensemble réutilisable des mêmes composants dans un projet de bibliothèque. Si vous créez une application qui existe dans les versions gratuite et payante. Vous déplacez la partie de l'application qui est commune aux deux versions dans un projet de bibliothèque. Les deux projets dépendants, avec leurs différents noms de paquets, feront référence au projet de bibliothèque et ne fourniront que la différence entre les deux versions d'application.

Un peu en retard, mais pour ceux qui cherchent encore une solution:

Gradle Build System utilise une variante de construction et une combinaison de saveurs de produits pour générer différentes applications avec des bases de code et des ressources partagées / communes.

Selon le site de référence du développeur Android:

Le système de construction utilise des saveurs de produits pour créer différentes versions de produit de votre application. La version de chaque produit de votre application peut avoir différentes fonctionnalités ou les exigences de l'appareil. Le système de construction utilise également des types de construction pour appliquer différents paramètres de construction et d'emballage à chaque version du produit. Chaque combinaison de produit et de type de construction forme une variante de construction. Le système de construction génère un APK différent pour chaque variante de construction de votre application.

Maintenant, on peut avoir deux ou plusieurs saveurs de produits, par exemple (saveur payée, saveur gratuite / démo), etc. pour un seul projet avec la même base de code.

Pour plus d'informations, voir Variantes de construction et saveurs de produits Doc

Il n'y a qu'une seule cible de construction dans Android dans un seul projet. La compatibilité de backword est contrôlée au moment de l'installation en utilisant minSdkVersion, targetSdkVersion et maxSdkVersion dans le fichier manifeste

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html 

De plus, le marché Android s'assure que si votre application possède un code natif et est construite pour l'architecture ARM, elle n'est pas visible sur un périphérique x86

Vous pouvez contrôler la version d'une personne installée et démarrer une activité ou une autre en fonction de cela. Vous pouvez utiliser quelque chose comme ceci:

 private static boolean version= android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.HONEYCOMB; 

Et puis faites quelque chose comme:

  public void onCreate(Bundle savedInstanceState){ Intent startActivity =null; if(version) startActivityIntent = new Intent( this, newVersionActivity.class ); else startActivityIntent = new Intent( this, oldVersionActivity.class ); finish();} 

Cet exemple provient d'une vidéo de Google I / O (min 5 ~): http://www.google.com/events/io/2011/sessions/android-protips-advanced-topics-for-expert-android- App-developers.html . Vous devez donc spécifier minSdkVersion et maxSdkVersion, puis contrôler quelle activité démarrer.

coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.