Android Hello-World 编译错误:Intellij 找不到 aapt
Posted
技术标签:
【中文标题】Android Hello-World 编译错误:Intellij 找不到 aapt【英文标题】:Android Hello-World compile error: Intellij cannot find aapt 【发布时间】:2013-05-11 10:29:10 【问题描述】:我正在尝试在 Ubuntu 12.04 中使用 IntelliJ 设置 android 开发环境。我创建了一个 Android 应用程序模块,但是当我尝试构建时,我收到以下错误:
android-apt-compiler: 无法运行程序 "/home/jon/Programs/android-sdk-linux/platform-tools/aapt": java.io.IOException: error=2, No such file or directory
在互联网上搜索了几个小时并没有帮助。
顺便在终端跑了locate aapt
,发现aapt
位于/home/jon/Programs/android-sdk-linux/build-tools/17.0.0/aapt
【问题讨论】:
好吧,谢谢大家的回答!我切换到Android Studio fork,它工作得很好。但我认为关于符号链接或 android-maven-plugin 的其他解决方案可能更适合其他 intellij 用户。我想这将在一段时间内在更新中得到修复...... 【参考方案1】:在 Windows 中,仅复制 aapt.exe
、lib\dx.jar
和 dx.bat
就足够了
来自 build-tools\android-4.2.2
到
平台工具
【讨论】:
【参考方案2】:又是美好生活。 以防万一出现此类错误清理项目,您就可以开始了。
【讨论】:
【参考方案3】:在 Mac OS 上,您需要
$ cd platform-tools
$ ln -s ../build-tools/android-4.2.2/aapt aapt
$ ln -s ../build-tools/android-4.2.2/lib lib
【讨论】:
【参考方案4】:我运行了这三个命令,我的问题得到了解决
mklink "%ANDROID_HOME%\platform-tools\aapt.exe" "%ANDROID_HOME%\build-tools\17.0.0\aapt.exe"
mklink /D "%ANDROID_HOME%\platform-tools\lib" "%ANDROID_HOME%\build-tools\17.0.0\lib"
mklink "%ANDROID_HOME%\platforms\android-17\tools" "%ANDROID_HOME%\build-tools\17.0.0\aidl.exe"
如果您尚未设置 ANDROID_HOME 环境变量,请将 %ANDROID_HOME% 替换为您的 android SDK 的路径,例如C:\Android\android-sdk
【讨论】:
【参考方案5】:我的 android-studio 也出现了同样的问题。但是,这可能也适用于 IntelliJ IDE。
但是,在检查文件位置时,我看到 aapt
位于预期位置。
就我而言,问题在于我运行的是 64 位 Ubuntu linux 系统,它无法执行 32 位 aapt
可执行文件。
在我的情况下,安装 32 位兼容性库解决了这个问题:sudo apt-get install ia32-libs
【讨论】:
似乎ia32-libs
不再适用于 Ubuntu 13.10 及更高版本。
将deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse
添加到/etc/sources.list
,然后添加sudo apt-get update
,然后添加sudo apt-get install ia32-libs
【参考方案6】:
感谢您的提示!在运行 Android 4.2.2 SDK 的 Mac 上,这很好用。您只需要相应地更新您的路径。例如。
ln -s ../build-tools/android-4.2.2/lib lib
ln -s ../build-tools/android-4.2.2/aapt aapt
【讨论】:
【参考方案7】:我用这个来解决这个问题
ln -s ~/Programs/android-sdk-linux/build-tools/17.0.0/aapt ~/Programs/android-sdk-linux/platform-tools/aapt
ln -s ~/Programs/android-sdk-linux/build-tools/17.0.0/lib ~/Programs/android-sdk-linux/platform-tools/lib
【讨论】:
【参考方案8】:将您的 IntelliJ 更新到 12.1.4,使用 beta 版本作为更新渠道
【讨论】:
这样做了,但是,我必须选择 EARLY RELEASES,它显示了 .4 更新,然后当它重新启动时,我得到了 3.x,但我拒绝了。 (Mac OS X 10.8.x)【参考方案9】:在 GitHub 上克隆 android-maven-plugin 并将其安装到您的 repo 中
git克隆https://github.com/jayway/maven-android-plugin.git cd .../maven-android-plugin/ mvn 干净安装
然后更新您的 pom 以使用插件的 3.5.4-SNAPSHOT 版本。 一切都应该正常工作!
【讨论】:
但是请注意,这将修复 maven 构建,而不是 IntelliJ 构建。为此,在 IntelliJ 修复它之前,符号链接解决方法应该会有所帮助。 你应该能够在 IntelliJ conf 中的某处找到 android-maven-plugin 版本... 内置的 IntelliJ 构建系统不使用 android-maven-plugin。为了让它工作,你需要做符号链接。如果你做了符号链接,你不需要更新到最新的 android-maven-plugin 快照;这些链接将修复 IntelliJ 构建和 android-maven-plugin 的非最新版本。 是的,我有一个windows环境。以管理员身份启动 DOS 窗口,然后使用 mklink 命令。转到平台工具,然后为 aapt.exe、aidl.exe、dexdump.exe、dx.bat 和 lib\dx.jar 创建指向它们在 build-tools\17.0.0 和 build-tools\17.0 中的对应项的链接。 0\库。注意:您需要在 platform-tools 下创建 lib 子文件夹。【参考方案10】:我遇到了这个问题,但是使用了 android-maven-plugin 作为您的项目 #2 的变体,而不是复制文件,我只是为 aapt 创建了一个符号/软链接
cd platform-tools
ln -s ../build-tools/17.0.0/aapt ./
这种方法似乎让我的所有构建再次运行。
【讨论】:
【参考方案11】:要向 Jetbrains 投诉,请访问:http://youtrack.jetbrains.com/issue/IDEA-107311
我认为更多的投票将是一个更快的解决方案。
【讨论】:
【参考方案12】:似乎 r22 SDK 版本的最新更新将 aapt 和 lib jar 从平台工具移动到了构建工具目录。在我们等待 JetBrains 发布更新时,这里有一个使用几个符号链接的快速修复:
从您的 AndroidSDK/platform-tools 目录中,运行以下命令:
ln -s ../build-tools/17.0.0/aapt aapt
ln -s ../build-tools/17.0.0/lib lib
...IntelliJ 应该可以正常编译了。
【讨论】:
嗨,我也很适合。仅供参考:我在 Windows 下运行 Intellij,您可以使用管理员权限打开 DOS 提示符,然后运行:mklink D:\Android\android-sdk\platform-tools\aapt.exe D:\Android\android-sdk\build-tools\17.0.0\aapt.exe
和 mklink /D D:\Android\android-sdk\platform-tools\lib D:\Android\android-sdk\build-tools\17.0.0\lib
还必须加:ln -s ../build-tools/17.0.0/aidl aidl
如果你得到这个并直接执行 aapt 也说找不到文件,你可能遇到了 64 位问题:link
@FrancescoPez 在 XP 或使用 fat32 的系统中不起作用。对于 WinXP:schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
对于像 Francesco Pez 这样的 Windows 64 位用户,只提到了带有空格的路径的提示:将两个路径放在引号中,例如mklink "C:\Program Files\androidsdk\sdk\platform-tools\aapt.exe" "C:\Program Files\androidsdk\sdk\build-tools\android-4.3\aapt.exe"【参考方案13】:
我也注意到了。
ADT 已更新,他们在移动所有内容的地方添加了这个新的构建工具。 Intellijidea 不会更新路径,因此它会在旧路径中搜索。
我不知道如何解决,所以如果你找到解决方案,请告诉我...
更新:
我认为你只有两个选择:
1) 使用 Android 构建工作室:http://developer.android.com/sdk/installing/studio.html 2) 将 build-tools/17.0.0/ 中的所有内容复制(这很脏但有效)到 platform-tools/ 它将构建
【讨论】:
啊,更新问题。好的,所以我刚刚发现Google发布了Android Studio,这是Intellij的一个fork。也许 Google 希望人们切换到 Android Studio 而不是更新 Intellij? 是的,他们发布了它(看看昨天的 Google I/O 主题演讲)。它基本上是 JideaCommunity + 更专注于 android。然后会和JideaPro合并(希望如此)。 它并不是真正的分叉,它是基于 Early Access Program 构建的。一旦该 EAP 构建成为主线 IntelliJ,它将具有与 Android Studio 相同的功能。以上是关于Android Hello-World 编译错误:Intellij 找不到 aapt的主要内容,如果未能解决你的问题,请参考以下文章