2013-05-17 31 views
42

starałem się śledzić ten tutorial:Android Maven Nie można znaleźć narzędzia „aapt”

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

ale po skonfigurowaniu środowiska i utworzyć projekt, w „uruchom jako \ Maven zainstalować” krok mam to:

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 

Próbowałem wiele razy, ale bez powodzenia. Mam Eclipse Juno na 64-bitowym Windowsie, zainstalowane narzędzie APK i Maven 3.0.5.

Wydaje znanym problemem dla personelu maven:

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

ale powinien być rozwiązany w wieku od ...

mojego środowiska Zmienne użytkownika:

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

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

My Środowisko Zmienna systemowa:

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 

Czy ktoś wie, jak ćwiczyć tę pułapkę?

dziękuję!

Odpowiedz

95

Też napotkałem ten sam problem, gdy używam najnowszego ADT z google i próbuję skompilować platformę Android bootstrap.

Najnowsze r17 budować oddzielne aapt do folderu build-tools. W związku z tym jest to dodatek do androida-androida, który nie może go wspierać.

Zobacz temat omawiany here.

Wypróbowane i robocze:

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 

Niektóre instalacje mogą być skonstruowane przy użyciu wersji 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 

pamiętać, że ten został rozwiązany w najnowszej wersji (> 3.5.3) wtyczki Android Maven, jak wskazują inne odpowiedzi.

+3

oh widzę ... to jasne. Myślałem, że jestem bezpieczny dodając oświadczenie "% ANDROID_HOME% \ build-tools \ android-4.2.2" do ścieżki środowiska ... w każdym razie proszę o wybaczenie, ale czy istnieje sposób na dodanie tych poleceń w systemie Windows? Czy mogę ćwiczyć tę dołączoną bibliotekę, aapt i helpl do środowiska Zmienna Ścieżka? –

+0

Zauważyłem również, że istnieje poprawka dla nowej struktury SDK: https://github.com/jayway/maven-android-plugin/pull/205 Nie rozumiem, gdzie mam to umieścić nowa klasa ... –

+0

miałem podejrzanego, że użytkownicy Windowsa tacy jak ja, nawet z mklink, nie mogą dołączać miękkiego łącza do ANDROID_HOME, a więc są skazani na ... –

14

Jeśli używasz systemu Windows, dowiązanie symboliczne może zostać wykonane przy użyciu polecenia mklink.

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 
+0

Rozwiązało to problem dla mnie (na razie). Teraz będziemy musieli poczekać na wtyczkę androida maven, aby wesprzeć nową strukturę. – JesperB

21

Aktualizacja:

Ten problem został rozwiązany, ponieważ Android Maven Plugin v3.6.0. Na razie będziesz potrzebować tych dowiązań symbolicznych tylko wtedy, gdy użyjesz IntelliJ v12.x. IntelliJ v13 EAP + powinien działać po wyjęciu z pudełka.

Oryginalny odpowiedź:

ten został naprawiony i będzie zwolniony z Maven Plugin v3.5.4 Android.Zobacz żądania github ściągania:

Upgraded AndroidSdk to use path and platform utilities from sdklib

Można spróbować walidacji build migawka, który zawiera poprawkę poprzez dodanie następujących do 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> 

Proszę podać informacje zwrotne od grupy deweloperskiej :

New snapshot for 3.5.4 available

+0

zmieniono wersję na 3.6.0 i to działa. Dzięki. – tmin

+0

wersja 3.5.3 nie działa. Wpadłem na ten sam problem z wersją 3.5.3 Nie próbowałem jeszcze wersji 3.5.4 lub 3.6.0. –

0

I utknąć z tym samym problemem. W końcu udało mi się rozwiązać problem po dwóch godzinach. Żeby było proste i rozwiązać problem w ciągu 5 minut i wymienione kroki poniżej

Krok 1 - W Eclipse zaktualizować Android Maven Plugin do 0.4.3.2013 korzystając z linku wersji beta http://rgladwell.github.io/m2e-android/updates/master/

Krok 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> 

będzie rozwiązać następujących zagadnień

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

Could not find tool 'aapt'

Nadzieja pomaga

0

ja też miałem podobne problemy.

rozwiązane przez następujące etapy:

1) do aktualizacji Maven 3.1.1 2) zastosowanie Android Maven wtyczkek 3.6.1 pr większy [kiedyś 3.8.0] 3) Za pomocą Maven-dependency- wtyczka 2,8

Jeśli chcesz zbudować przeciwko najnowszej Android SDK [ex: 4,3], wykonaj następujące kroki dodatkowe - 4) Założyć lokalną kopię android.jar polecenia przy użyciu mvn zainstalować: installfile .. 5) Ustaw 18

Mam nadzieję, że to pomoże.

Powiązane problemy