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的大小仍然是“原始”的两倍,构建需要相当长的时间才能完成。我们最终将该项目整合到一个项目中,这不是一个令人满意的答案,但我们不能再浪费任何周期调试我们的工具
# 1 楼答案
如果将JAR添加到每个项目中(如ADT16中的工作方式等),可能会得到这个结果。此外,ADT17会自动在libs/下为JAR添加广告,因此如果您有旧版本的JAR,可能会遇到问题。将JAR放在库项目的lib/下,移除所有JAR 您已经向主项目中添加了构建类路径
# 2 楼答案
除了Nikolays的回答,你可能还想看看proguard的设置。现在情况不同了,当您使用r17与旧版本相比时,可能会删除一大堆内容