Android AAPT 发生了什么变化?

2022-09-04 05:59:42

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

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

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

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

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

我假设 Ant 代码与最近的 SDK 更新不同步。任何人都可以对这个问题有所了解吗?在这一点上,我正在考虑编写自己的Python脚本来与Android SDK进行交互。呸。


答案 1

对于最近遇到这种情况的人来说,aapt又搬走了。它现在位于$ANDROID_SDK/build-tools/17.0.0 中。


答案 2

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

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

运行该命令并从出现的 AVD 管理器窗口启动模拟器。AFAIK,蚂蚁没有任务 - 事实上,我不知道曾经有过。androidstart-emulator

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

如果你正在查看(你解压缩SDK的地方在哪里),你不应该在那里找到apt。该目录用于直接支持所有 API 级别的工具。API级别特定的工具,如,将驻留在(某些Android版本的名称在哪里,如)。$ANDROID_HOME/tools/$ANDROID_HOMEaapt$ANDROID_HOME/platforms/$SDK/tools/$SDKandroid-2.1

如果 中没有任何内容,请按照安装说明的步骤 4 进行操作$ANDROID_HOME/platforms/