安装 ADT 插件后,以下构建器可用于 Android 项目:
- 安卓资源管理器
- 安卓预编译器
- Java 生成器
- Android 包生成器
查看输出目录,创建了以下工件:
- resources.ap_(只是一个带有资源且没有代码的 APK/ZIP)
- gen/R.java(自动生成的资源列表)
- 带有 java 字节码的 .class 文件
- 类.dex
- ${项目名称}.apk
对于我的项目,我自动生成了几个代码工件,并且通常需要对构建过程进行更严格的控制。一开始我以为是资源管理器负责创建resources.ap_,预编译器创建R.java,java builder做的很明显,然后Android Package Builder创建classes.dex,然后合并classes.dex和resources.ap_创建 APK 文件。
我禁用了前两个步骤并创建了一个自定义的预构建器,该构建器放置了 resources.ap_ 的副本,认为这将是等效的。没有这样的运气。
不幸的是,最终的 Android Package Builder 似乎直接从 res/ 中获取资源并忽略了我的 resources.ap_。事实上,前两个构建步骤除了生成 R.java 似乎并没有做太多事情。
这是真正有问题的地方。如果我禁用最后的构建步骤并放置我自己的 APK 文件(具有完全相同的名称),我会收到以下错误:
[2011-02-27 20:25:28 - android-premium] ------------------------------
[2011-02-27 20:25:28 - android-premium] Android Launch!
[2011-02-27 20:25:28 - android-premium] adb is running normally.
[2011-02-27 20:25:28 - android-premium] Could not find android-premium.apk!
所以我被困住了:使用 Android Package Builder(它没有可识别的配置),我必须提供单独的 ./res/ 文件。没有它,我无法让项目在设备上启动(不是从 Eclipse 启动)。
有人在这个领域有更好的想法/经验吗?