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
Надеюсь, что это поможет.