46 votes

Devrais-je utiliser Maven pour une application Android?

Je code principalement en Java et l'utilisation de Maven pour l'ensemble de mes projets. J'adore vraiment l'aide de Maven car il est facile de télécharger les sources et documentations, et, plus important encore, je n'ai pas besoin de garder la copie des bibliothèques externes, en vertu de mon projet de code source de dossiers.

J'ai commencé à développer une application Android et j'ai trouvé que l'Android plugin pour eclipse sont terriblement bon. Cependant, tous les exemples fournis ne sont pas des projets maven donc je ne sais pas si, si j'utilise maven, je voudrais profiter de toutes les fonctionnalités à partir de l'Android plugin ou si il y a un inconvénient de l'utilisation de Maven.

Donc les questions sont:

  1. Faire toutes les fonctionnalités d'Android plugin pour eclipse fonctionne encore?
  2. Est-ce que ça va être plus difficile que la normale construire (je crois que c'est important, mais pas certain)
  3. Toutes les autres inconvénients, par exemple, la taille de fichier de l'application (Maven tend à regrouper beaucoup de choses ensemble), ou les difficultés d'obtenir les dernières versions des bibliothèques sur le repository maven (qui est probablement différent pour Android).

S'il vous plaît ne pas pointer vers ce maven support pour android projets?

Je voudrais une réponse à partir de l'expérience des développeurs. Je sais déjà qu'il est possible d'utiliser maven pour une application Android. Tout ce que je besoin de savoir, c'est si je dois l'utiliser.

35voto

Michael Points 509

Mes équipes de la tâche actuelle est de développer une application Android. Depuis c'est une petite application et aussi une sorte de prototype, nous avons décidé d'évaluer Maven et le Android plugin Eclipse.

En bref: Après deux développeurs ont passé trois jours, nous n'avons pas été en mesure d'obtenir la Android Eclipse plugin fonctionnalités dans notre projet Maven.

  • La classe R n'a pas été mis à jour en fonction de nos ressources
  • Nous n'avons pas été en mesure de lancer l'application directement depuis Eclipse dans l'émulateur et/ou un périphérique connecté

En raison de ces problèmes qui ont entravé le développement de nos sincèrement nous avons décidé de développer l'application sans Maven. Mais si l'un de vous sait comment faire pour résoudre ces problèmes, j'aimerais entendre une solution!

12voto

Karussell Points 7034

Si vous voulez rapide à l'exécution de tests vous êtes presque obligé d'utiliser maven. Comme robolectric est le chemin pour aller ensuite. Et ils ont dit Roboletric est probablement plus facile à configurer via maven sous Eclipse (ils sont à l'aide de l'IDÉE).

Cela dit, avez-vous lu ce post, ou que? Et ce message d'erreur exactement avez-vous?

Typique de choses que j'ai fait de mal:

  1. utiliser maven >= 3.0.3 ! Et d'éviter que les incorporés de chose dans eclipse. (Ceci est nécessaire uniquement pour les robolectric, si je me souviens bien)
  2. utiliser ~/.m2/settings.xml comme décrit sur le robolectric page pour configurer le chemin android
  3. indiquez votre sdk android aussi bien dans le local.propriétés et dans Préférences -> Android -> emplacement du SDK
  4. Plus de lecture ce et de que ou juste essayer de la mavenized robolectric exemple lui-même, qui a travaillé pour moi. L'importer en tant qu'existant projet maven.
  5. Installer le sdk (dans mon cas 2.2_r3) via maven-android-sdk-deployer et

    export ANDROID_HOME=/path/to/android/sdk
    mvn install -P 2.2
    
  6. Et ai-je mentionné que cet étrange outil: m2e-android - ne sais pas pourquoi on a besoin d'autant de trucs avec Eclipse ... ici, vous pouvez l'installer via les mises à jour logicielles http://rgladwell.github.com/m2e-android/updates/master/m2e-android/

Heureusement je me suis souvenu de toutes les étapes correctement. Bonne chance!

Mise à jour:

Commutation de retour à la normale Android trucs sans maven sous Eclipse comme IDE a fait des trucs bizarres: http://groups.google.com/group/robolectric/browse_thread/thread/ac814076c40d9df1

Mais la chose intéressante de cette Maven aventure, c'est que je peux maintenant facilement de tester et de déboguer mes projets via NetBeans :)

2voto

Comme nous le savons tous Android Devolopment migré vers Android Studio à partir d'Eclipse.

Le Android Studio construire le système se compose d'un Android plugin Gradle. Gradle est un cours avancé de construire toolkit qui gère les dépendances et vous permet de définir de génération personnalisée, logique.

Le système de construction est indépendante de Android Studio, de sorte que vous pouvez l'appeler à partir d'Android Studio ou en ligne de commande.

Android Studio construire le système à distance prend en charge les dépendances Maven. Comme vous le savez, Maven est un populaire logiciel de gestion de projet outil qui permet d'organiser les dépendances d'un projet à l'aide de référentiels.

Vous pouvez construire vos applications Android à partir de la ligne de commande sur votre ordinateur à partir d'Android Studio,donc en évitant le gâchis de plugins qu'il y a dans Eclipse.

Découvrez ce tutoriel pour construire des Applications Android avec Maven.

Reportez-vous ici pour plus au sujet de build Gradle

0voto

robvelor Points 56

J'ai été en mesure d'utiliser maven pour le développement d'applications android en utilisant Android Outils de Développement Eclipse (Kepler) et Android pour Maven Eclipse 1.0.1 (m2e-android). Suivez ces instructions http://rgladwell.github.io/m2e-android/. Après avoir créé votre nouveau projet avec l'android de démarrage rapide archétype de modifier votre pom.xml. Ajouter la version de la plateforme android. Eclipse (m2e) signaler une erreur sur la pom.xml sur l'android-maven-plugin déclaration, pour résoudre ce problème, suivez alexandre de la réponse d'Erreur dans pom maven fichier xml. Puis mettre à jour le projet maven à l'aide d'eclipse et qui devrait être.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X