有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android。apk根据自v17工具以来用于部署的dev box将大小增加一倍

在更新到ADT r17工具之后,我们遇到了一些带有类的开发框的问题。中的dex文件。apk为3.2MB比700KB。除了膨胀的dex文件,应用程序不能从设备启动。它抛出了一个ClassNotFoundException

我们不知所措,因为所有的project/eclipse设置在不同的开发环境中都是相同的

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

更新

我选择了导出库项目和jar(在主项目中),当它部署到设备上时,它会工作。apk仍然是原来的两倍。另一个有趣的部分是(在不起作用的盒子上),我们在启动时有50%的失败率(即eclipse冻结)。因此,它基本上仍然无法使用。在r16 tools上,构建和发布任何一个盒子都没有问题

更新v0。2

我让库项目1依赖于库项目2,并且只向lib1添加了必要的jar。它启动并运行,但每次对源代码进行更改都需要3-4分钟来重新编译/构建/部署,并且apk仍然是正常大小

更新v0。3

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

更新v0。4

事实证明,即使有更新的sdk/adt,一些box的eclipse也在毫无怨言地使用ADT15/16(帮助->;关于eclipse->;灌输细节)。那些是功能盒

更新V0。5

他们今天发布了工具r18,可以“修复”这些问题,但apk的大小仍然是“原始”的两倍,构建需要相当长的时间才能完成。我们最终将该项目整合到一个项目中,这不是一个令人满意的答案,但我们不能再浪费任何周期调试我们的工具


共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

    除了Nikolays的回答,你可能还想看看proguard的设置。现在情况不同了,当您使用r17与旧版本相比时,可能会删除一大堆内容