web-dev-qa-db-fra.com

Android Maven Impossible de trouver l'outil 'aapt'

j'essayais de suivre ce tutoriel: 

http://www.gdgankara.org/2012/11/01/step-by-step-Android-development-with-maven/

mais après avoir configuré l'environnement et créé un projet, à l'étape "run as\maven install", j'ai obtenu ceci:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building tutorial 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- Android-maven-plugin:3.1.1:generate-sources (default-generate-sources) @ tutorial ---
[INFO] Android-904-002: Found aidl files: Count = 0
[INFO] Android-904-002: Found aidl files: Count = 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.889s
[INFO] Finished at: Sat May 18 00:32:12 CEST 2013
[INFO] Final Memory: 8M/111M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.jayway.maven.plugins.Android.generation2:Android-maven-plugin:3.1.1:generate-sources (default-generate-sources) on project tutorial: Execution default-generate-sources of goal com.jayway.maven.plugins.Android.generation2:Android-maven-plugin:3.1.1:generate-sources failed: Could not find tool 'aapt'. Please provide a proper Android SDK directory path as configuration parameter <sdk><path>...</path></sdk> in the plugin <configuration/>. As an alternative, you may add the parameter to commandline: -Dandroid.sdk.path=... or set environment variable Android_HOME. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/PluginExecutionException

J'ai essayé beaucoup de fois, mais sans chance ..__ J'ai Eclipse Juno sur Windows 7 64 bits, APK Tool installé et Maven 3.0.5.

Cela semble être un problème bien connu pour le personnel de Maven:

https://code.google.com/p/maven-Android-plugin/issues/detail?id=104

mais cela devrait être résolu depuis des siècles ...

Mon environnement Variables utilisateur:

M2_HOME=C:\Program Files\Java\Apache-maven-3.0.5

Android_HOME=C:\adt-bundle-windows-x86_64-20130514\sdk

Mon système variable système:

Path=......;%Android_HOME%\tools;%Android_HOME%\platform-tools;%Android_HOME%\build-tools;%Android_HOME%\platforms;%M2_HOME%\bin;%Android_HOME%\build-tools\Android-4.2.2

Est-ce que quelqu'un sait comment s'entraîner à ce piège?

merci!

42
Black.Jack

J'ai également rencontré le même problème lors de l'utilisation du dernier ADT de Google et de la compilation de la plate-forme de démarrage Android.

La dernière version de r17 sépare aapt du dossier build-tools. C'est pourquoi maven-Android-plugin ne peut pas le supporter.

Voir la question discutée ici .

Essayé et travaillant:

cd $Android_HOME/platform-tools
ln -s ../build-tools/Android-4.2.2/aapt aapt
ln -s ../build-tools/Android-4.2.2/lib lib
ln -s ../build-tools/Android-4.2.2/aidl aidl

Certaines installations peuvent être structurées à l'aide de la version de l'API:

cd $Android_HOME/platform-tools
ln -s ../build-tools/17.0.0/aapt aapt
ln -s ../build-tools/17.0.0/lib lib
ln -s ../build-tools/17.0.0/aidl aidl

N'oubliez pas que ceci est corrigé dans la dernière version (> 3.5.3) d'Android Maven Plugin, comme le soulignent d'autres réponses.

95
user2284918

Mettre à jour:

Ce problème a été résolu depuis Android Maven Plugin v3.6.0 . Pour l'instant, vous n'aurez besoin de ces liens symboliques que si vous utilisez IntelliJ v12.x. IntelliJ v13 EAP + devrait fonctionner immédiatement.

Réponse originale:

Ce problème a été corrigé et sera publié avec Android Maven Plugin v3.5.4. Voir la demande de tirage de github:

Mise à niveau d'AndroidSdk pour utiliser les utilitaires de chemin et de plateforme de sdklib

Vous pouvez essayer de valider la construction d'instantané qui contient le correctif en ajoutant ce qui suit à votre pom.xml:

<plugin>
    <groupId>com.jayway.maven.plugins.Android.generation2</groupId>
    <artifactId>Android-maven-plugin</artifactId>
    <version>3.5.4-SNAPSHOT</version>
    ...
</plugin>
...
<pluginRepositories>
  <pluginRepository>
    <id>oss.sonatype.org-jayway-snapshots</id>
    <name>Jayway OpenSource SNAPSHOTs on Sonatype.org</name>
    <url>http://oss.sonatype.org/content/repositories/jayway-snapshots/</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </pluginRepository>
</pluginRepositories>

Veuillez donner votre avis sur le groupe de développeurs:

Nouvel instantané pour 3.5.4 disponible

21
James Wald

Si vous utilisez Windows, la liaison symbolique peut être réalisée à l’aide de mklink command.

D:\>cd "Program Files (x86)\Android\android-sdk"

D:\Program Files (x86)\Android\android-sdk>cd platform-tools

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink aapt.exe ..\build-tools\17.0.0\aapt.exe
symbolic link created for aapt.exe <<===>> ..\build-tools\17.0.0\aapt.exe

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink aidl.exe ..\build-tools\17.0.0\aidl.exe
symbolic link created for aidl.exe <<===>> ..\build-tools\17.0.0\aidl.exe

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink /d lib ..\build-tools\17.0.0\lib
symbolic link created for lib <<===>> ..\build-tools\17.0.0\lib
14
az3

Moi aussi j'ai eu des problèmes similaires.

Résolu en suivant les étapes suivantes:

1) Mettez à niveau maven vers 3.1.1 2) Utilisez Android-maven-plugin 3.6.1 plus récent [J'ai utilisé 3.8.0] 3) Utilisez maven-dependency-plugin 2.8

Si vous souhaitez compiler le dernier SDK Android [ex: 4.3], suivez les étapes supplémentaires suivantes - 4) Installez la copie locale d'Android.jar à l'aide de la commande mvn install: installFile .. 5) Définissez 18 

J'espère que cela t'aides.

0
Rams_QA

Je suis coincé avec le même problème. Finalement, j'ai réussi à résoudre le problème après deux heures. Pour simplifier les choses et résoudre le problème en 5 minutes, j’énumère les étapes ci-dessous.

Étape 1 - Dans Eclipse, mettez à jour votre Android Maven Plugin vers 0.4.3.2013 en utilisant le lien de version beta http://rgladwell.github.io/m2e-Android/updates/master/

Étape 2

     <plugin>
        <groupId>com.jayway.maven.plugins.Android.generation2</groupId>
        <artifactId>Android-maven-plugin</artifactId> 
        <version>3.6.1</version>
        <configuration>
            <sdk>
                <platform>17</platform>
            </sdk> 
        </configuration>
    </plugin>

Cela résoudra les problèmes suivants

"No Android Platform Version/API Level has been configured" 

Could not find tool 'aapt'

J'espère que ça aide

0
vinothp