J'utilise IntelliJ IDEA (actuellement v11.0.2, build 111.277) sur Ubuntu 11.10 et Mac OS X 10.7.3 pour travailler sur des projets Android basés sur Maven, et pour la plupart cela fonctionne bien. L'avantage d'utiliser IntelliJ avec Android et Maven est que tout le support est déjà intégré - il n'y a pas de plugins IDE supplémentaires à installer.
Comme exemple de projet Maven Android fonctionnel qui peut être ouvert avec IntelliJ, vous pouvez utiliser le code source de l'application open-source Gaug.es pour Android par GitHub (tous les développeurs de GitHub n'utilisent pas IntelliJ, personnellement c'est mon cas - Eclipse est également utilisé pour travailler sur ce projet).
La première étape pour un bon fonctionnement est évidemment de s'assurer que votre projet se construit correctement en utilisant uniquement Maven en ligne de commande - bien que la question ne porte pas directement sur ce point, je conseillerais ces pré-requis comme un strict minimum :
- Java 6
- Maven v3.0.3
- Android-maven-plugin v3.1.1
- Android SDK r16 (si vous avez téléchargé votre SDK avant la r15, vous feriez mieux d'effacer l'ensemble et de le télécharger à nouveau, car la disposition des répertoires a changé).
Si vous le pouvez mvn install
le pom parent de votre projet, vous êtes prêt à travailler avec lui avec IntelliJ.
- Si c'est la première fois que vous ouvrez le projet avec IntelliJ, vous pouvez toujours l'ouvrir en tant que projet, il vous suffit de sélectionner le fichier pom.xml parent dans la boîte de dialogue 'Open Project'.
- S'assurer qu'IntelliJ sait où se trouve le SDK Java . IntelliJ, même s'il fonctionne sur Java, ne détecte pas automatiquement l'emplacement des SDK. Vous devez le lui indiquer. Aller
Project Structure
, Platform Settings
, SDKs
puis modifiez le SDK Java s'il apparaît en rouge, en lui donnant le chemin de votre SDK Java 6.
- Dans le même
Project Structure
Dans la fenêtre de dialogue, définissez l'option Project SDK
à la version appropriée d'Android, et sous Project
fixer le Project compiler output
à un nom de répertoire de votre choix - cette valeur est nécessaire pour faire un 'Make', mais elle est aussi surchargée par vos submodules pour pointer de manière sensible vers les répertoires 'target' de Maven.
- Vérifiez que toutes les informations Maven ont été analysées par IntelliJ. Vous devriez avoir un
Maven Projects
tab. Cliquez sur l'onglet Reimport All Maven Projects
(on dirait deux flèches qui se poursuivent l'une l'autre). Si IntelliJ vous demande d'activer l'importation automatique, faites-le. Vous devriez maintenant avoir au moins un module listé sous la rubrique Maven Projects
tab, plus si vous avez également un projet de test d'intégration.
À ce stade, vous devriez avoir une expérience assez significative de l'IDE. Des choses qui devraient fonctionner :
- Aucun code ne doit être souligné en rouge sans raison apparente.
- Toutes les importations (qu'elles proviennent du SDK Android, de Java, de votre propre code ou d'apklibs) doivent être reconnues. Notez que la prise en charge des apklibs n'est apparue que tardivement avec IntelliJ IDEA v10.5.
- Opérations de remaniement.
Force regenerate R.java file
devrait rafraîchir correctement le fichier sous target/generated-sources/r/...
- mais cela ne semble fonctionner que si target/generated-sources/r
est déjà défini comme chemin source, c'est-à-dire qu'il a été généré par Maven et importé par IntelliJ. L'alternative minimale en ligne de commande est d'exécuter mvn android:generate-sources
à partir de la ligne de commande dans le dossier du module concerné.
- Faire un "Make" du projet dans l'IDE fonctionne techniquement, mais peut aussi échouer pour la même raison. J'invoque toutes mes constructions en utilisant la commande mvn
package
o install
à la ligne de commande.
Des choses qui pourraient ne pas fonctionner :
- L'exécution de tests d'intégration individuels à partir de l'IDE (matrices avec
ClassNotFoundException: junit.textui.ResultPrinter
)
Si IntelliJ s'embrouille, les étapes suivantes vous permettront normalement de revenir sur la bonne voie :
mvn clean install
sur la ligne de commande
- Appuyer sur la touche
Reimport All Maven Projects
bouton
Quelques conseils :
- Vos fichiers Maven pom.xml doivent être la source de vérité pour la configuration de votre projet. Minimisez la configuration spécifique à IntelliJ que vous faites dans les paramètres du projet - certains d'entre eux seront susceptibles d'être effacés la prochaine fois que les paramètres seront réimportés à partir du POM Maven - et essayez d'éviter de commettre des fichiers de projet IntelliJ dans le contrôle de la source.
J'espère que cela vous aidera !
0 votes
Moi-même et beaucoup d'autres le faisons tous les jours... et les conseils de Roberto sont corrects à tous égards.