Android AAPT发生了什么?

时间:2010-03-16 02:57:08

标签: java android exception ant

我下载了最新版本的Android for Linux(android-sdk_r05-linux_86.tgz)。我试图使用Android Ant任务来打包,构建和部署我的代码。我应该提一下,我正在运行AMD64,但我安装了32位库。 Android Ant任务都已破坏。

首先,启动模拟器任务永远不会让模拟器运行。它确实超过了adb,但它只是坐在那里。

其次,SDK缺少tools目录中的AAPT二进制文件。因此,示例记事本示例应用程序甚至无法正确打包。

  

java.lang.IllegalStateException:在/ home / user / bin / android-sdk-linux_86中无法找到sdk内的aapt    在com.googlecode.autoandroid.lib.AndroidTools.locateTool(AndroidTools.java:116)
  在com.googlecode.autoandroid.lib.AndroidTools.startTool(AndroidTools.java:103)
   在com.googlecode.autoandroid.lib.AndroidTools.startTool(AndroidTools.java:91)
   在com.googlecode.autoandroid.lib.UnixAndroidTools.aapt(UnixAndroidTools.java:9)

我为Android配置了所有依赖项。我可以从命令行运行它就好了。

我认为Ant代码与最近的SDK更新不同步。任何人都可以解释这个问题吗?此时,我正在考虑编写自己的Python脚本来与Android SDK进行交互。啊。

2 个答案:

答案 0 :(得分:30)

对于最近遇到此事的人来说,aapt再次感动。它现在在$ ANDROID_SDK / build-tools / 17.0.0。

答案 1 :(得分:7)

我已经使用Android Ant构建脚本编写了三本书。相信我,他们工作。

  

首先,启动模拟器任务永远不会   让模拟器运行。它确实得到了   过去开始adb,但随后就坐了   那里。

运行android命令并从出现的AVD Manager窗口启动模拟器。 AFAIK,Ant中没有start-emulator任务 - 事实上,我不知道曾经有过这个任务。

  

其次,SDK缺少aapt   工具目录中的二进制文件。

如果您正在查看$ANDROID_HOME/tools/(其中$ANDROID_HOME是解压缩SDK的地方),那么您不应该在那里找到它。该目录适用于直接支持所有API级别的工具。特定于API级别的工具(例如aapt)将驻留在$ANDROID_HOME/platforms/$SDK/tools/中(其中$SDK是某些Android版本的名称,例如android-2.1)。

如果$ANDROID_HOME/platforms/中没有任何内容,请按照installation instructions的第4步进行操作。