Android Maven Не удалось найти инструмент 'aapt'

Я пытался следовать этому руководству:

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

но после настройки среды и создания проекта на этапе "запускать как \maven install" я получил следующее:

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

Я много раз пробовал, но не повезло. У меня Eclipse Juno на Windows 7 64 бит, установлен APK Tool и Maven 3.0.5.

Кажется хорошо известной проблемой для сотрудников maven:

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

но он должен решаться с возрастом...

Моя переменная Пользовательские переменные:

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

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

Моя переменная среды среды:

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

Кто-нибудь знает, как тренировать эту ловушку?

спасибо!

Ответ 1

Я также столкнулся с той же проблемой при использовании новейшего ADT из Google и попытке скомпилировать платформу Android для начальной загрузки.

Последняя сборка r17 отделяет aapt от папки build-tools. Следовательно, maven-android-plugin не может его поддерживать.

См. обсуждаемую проблему здесь.

Пробовал и работал:

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

Некоторые установки могут быть структурированы с использованием версии 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

Имейте в виду, что это исправлено в последней версии ( > 3.5.3) Android Maven Plugin, как указывают другие ответы.

Ответ 2

Update:

Это было разрешено с Android Maven Plugin v3.6.0. Пока вам нужны эти символические ссылки, если вы используете IntelliJ v12.x. IntelliJ v13 EAP + должен работать из коробки.

Оригинальный ответ:

Это исправлено и будет выпущено с Android Maven Plugin v3.5.4. См. Запрос на github pull:

Обновлен AndroidSdk для использования утилит и платформ из sdklib

Вы можете попробовать выполнить проверку сборки моментальных снимков, которая содержит исправление, добавив следующее к вашему 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>

Пожалуйста, предоставьте отзыв о группе разработчиков:

Новый снимок для доступного 3.5.4

Ответ 3

Если вы используете Windows, символическое связывание может быть выполнено с помощью команды 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

Ответ 4

Я застреваю с той же проблемой. Наконец мне удалось решить проблему через два часа. Чтобы сделать его простым и решить проблему через 5 минут, я перечислил следующие шаги

Шаг 1. В Eclipse обновите свой Android Maven Plugin до 0.4.3.2013, используя ссылку бета-версии http://rgladwell.github.io/m2e-android/updates/master/

Шаг 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>

Он решает следующие проблемы

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

Could not find tool 'aapt'

Надеюсь, что это поможет

Ответ 5

У меня тоже были подобные проблемы.

Решается следующим образом:

1) Обновите maven до 3.1.1 2) Использовать плагин android-maven 3.6.1 pr больше [я использовал 3.8.0] 3) Используйте maven-dependency-plugin 2.8

Если вы хотите создать новый Android SDK [ex: 4.3], выполните следующие действия: 4) Установите локальную копию файла android.jar, используя команду mvn install: installFile.. 5) Установите 18

Надеюсь, что это поможет.