1

更新到 ADT r17 工具后,我们遇到了一些开发框的问题,其中 .apk 中的 classes.dex 文件为 3.2MB 与 700KB。除了膨胀的 dex 文件外,无法从设备启动应用程序。它吐出一个 ClassNotFoundException。

我们不知所措,因为所有项目/eclipse 设置在开发框中似乎都是相同的。

该项目本身由两个库项目和带有 supportv4.jar 的主项目和一个内部 jar 组成。

更新

我选择了导出库项目和 jars(在主项目中),当它部署到设备上时它可以工作,.apk 仍然是两倍大小。另一个有趣的部分是(在它不起作用的盒子上)我们在启动时有 50% 的失败率(即 eclipse 冻结)。所以它基本上仍然无法使用。在 r16 工具中,构建和启动任何机器都没有问题。

更新 v0.2

我有库项目 1 依赖于库项目 2,并且只将必要的 jar 添加到 lib1。它启动并运行,但每次更改源仍需要 3-4 分钟以重新编译/构建/部署,并且 apk 仍然是正常大小的 x2。

更新 v0.3

更有趣的是,它将通过命令行快速编译,而不是通过 eclipse。我仍然得到一个非常大的 .apk(7.16MB vs 3.xxMB 对于以前的“正常”apk)。

更新 v0.4

事实证明,即使更新了 sdk/adt,某些盒子的 eclipse 也使用 adt 15/16(帮助-> 关于 eclipse -> 灌输细节),没有任何抱怨。那些是功能盒....

更新 V0.5

他们今天发布了“解决”问题的工具 r18,但 apk 仍然是“原始”大小的两倍,并且构建需要相当长的时间才能完成。我们最终将项目合并为一个项目,从长远来看不是一个令人满意的答案,但我们不能再浪费任何周期来调试我们的工具。

4

2 回答 2

0

除了 Nikolays 的回答,您可能还想查看 proguard 设置。现在不同了,当您使用 r17 与旧版本时,可能会删除一大堆东西。

于 2012-04-09T01:43:58.000 回答
0

如果您将 jars 添加到每个项目(它在 ADT16 中的工作方式等),您可能会得到这个。此外,ADT17 会自动在 libs/ 下添加 jar,因此如果您有旧版本的 jar,您可能会遇到问题。将 jar 放在库项目的 lib/ 下,删除您添加到主项目构建类路径中的所有 jar。

于 2012-04-09T01:35:29.117 回答