我试图遵循这个教程:
http://www.gdgankara.org/2012/11/01/step-by-step-android-development-with-maven/
但在设置环境并创建项目之后,在“run as \ 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
我已经尝试了很多次,但没有运气。 我在Windows7 64位上安装了Eclipse Juno,安装了APK工具和Maven 3.0.5。
对于专业人员而言,这似乎是一个众所周知的问题:
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
有人知道如何锻炼这个陷阱吗?
谢谢!
答案 0 :(得分:95)
从谷歌使用最新的ADT并尝试编译bootstrap android平台时,我也遇到了同样的问题。
最新的r17版本将aapt
分隔为build-tools文件夹。因此它是maven-android-plugin无法支持它。
请参阅讨论的问题here。
尝试并且正在工作:
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
请注意,这已在Android Maven插件的最新版本(&gt; 3.5.3)中修复,正如其他答案所指出的那样。
答案 1 :(得分:21)
更新
自Android Maven Plugin v3.6.0以来,此问题已得到解决。现在,如果您使用IntelliJ v12.x,则只需要这些符号链接。 IntelliJ v13 EAP +应该开箱即用。
原始答案:
此问题已修复,将随Android Maven Plugin v3.5.4发布。请参阅github pull请求:
Upgraded AndroidSdk to use path and platform utilities from 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>
请提供有关开发者群体的反馈意见:
答案 2 :(得分:14)
如果您使用的是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
答案 3 :(得分:0)
我遇到了同样的问题。最后我设法在两小时后解决了这个问题。为了简化并在5分钟内解决问题,我列出了以下步骤
第1步 - 在Eclipse中使用测试版链接将 Android Maven插件更新为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'
希望有所帮助
答案 4 :(得分:0)
我也有类似的问题。
通过以下步骤解决:
1)将maven升级到3.1.1 2)使用android-maven-plugin 3.6.1 pr更大[我使用3.8.0] 3)使用maven-dependency-plugin 2.8
如果您想针对最新的Android SDK [例如:4.3]进行构建,请按照以下附加步骤进行操作 - 4)使用命令mvn install:installFile安装android.jar的本地副本。 5)设置18
希望这有帮助。
答案 5 :(得分:0)
我正在使用macOS 10.14,就我而言:
我从AAPT下载Android打包工具,然后将所有文件复制到
$ANDROID_HOME/platforms/$SDK/tools/
不要用实名SDK更改$ SDK以便实例化android-29