【发布时间】:2011-02-28 04:30:23
【问题描述】:
安装 ADT 插件后,以下构建器可用于 Android 项目:
- Android 资源管理器
- Android 预编译器
- Java 构建器
- Android 包生成器
查看输出目录,创建了以下工件:
- resources.ap_(只是一个包含资源且没有代码的 APK/ZIP)
- gen/R.java(自动生成的资源列表)
- 带有java字节码的.class文件
- classes.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 文件(与 exact 相同的名称),我会收到以下错误:
[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 启动)。
有人在这个领域有更好的想法/经验吗?
【问题讨论】:
标签: android eclipse ant build adt