42

我试图按照本教程进行操作:

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

我已经尝试了很多次,但没有运气。我在 Windows7 64 位上安装了 Eclipse Juno,安装了 APK 工具和 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

有人知道如何锻炼这个陷阱吗?

谢谢!

4

6 回答 6

96

在使用来自谷歌的最新 ADT 并尝试编译 bootstrap 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

请记住,正如其他答案指出的那样,这已在 Android Maven 插件的最新版本 (>3.5.3) 中得到修复。

于 2013-05-18T01:36:35.257 回答
21

更新:

自Android Maven 插件 v3.6.0以来,此问题已得到解决。现在,如果您使用 IntelliJ v12.x,您将只需要这些符号链接。IntelliJ v13 EAP+ 应该开箱即用。

原答案:

此问题已得到修复,将与 Android Maven 插件 v3.5.4 一起发布。请参阅 github 拉取请求:

升级 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 的新快照可用

于 2013-05-22T13:57:37.993 回答
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
于 2013-05-22T08:13:10.160 回答
0

我遇到了同样的问题。最后我设法在两个小时后解决了这个问题。为了简单起见并在 5 分钟内解决问题,我列出了以下步骤

第 1 步- 在 Eclipse 中,使用 beta 版本链接将您的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'

希望能帮助到你

于 2013-09-18T12:02:08.747 回答
0

我也有类似的问题。

通过以下步骤解决:

1) 将 maven 升级到 3.1.1 2) 使用 android-maven-plugin 3.6.1 pr 更大 [我使用 3.8.0] 3) 使用 maven-dependency-plugin 2.8

If you want to build against latest Android SDK [ex : 4.3], follow following additional steps - 4) Install the local copy of android.jar using command mvn install:installFile .. 5) Set 18

Hope this helps.

于 2013-12-18T16:07:38.807 回答
0

I'm using macOS 10.14 and in my case:

I download Android packaging tool from AAPT and then copied all the files into
$ANDROID_HOME/platforms/$SDK/tools/


DON'T REMIND CHANGE $SDK WITH YOUR REAL NAME SDK FOR INSTANCE android-29

于 2019-08-12T09:35:39.370 回答