好的,事情就是这样,我花了几天时间搜索所有数据库,所以要么我没有搜索正确的单词,要么没有答案,希望“还”。
症状:-编译Android项目DX每次构建项目时都会编译所有jar-没有理由这样做一次就足够了,无论如何每次都这样做,每次构建都需要很长时间而不是几秒钟需要几分钟。
真正的问题:
-添加几个罐子导致 Eclipse 崩溃——现在这是这些设置(重罐子)-Xms256m -Xmx1024m -XX:+UseParallelGC -XX:PermSize=256M -XX:MaxPermSize=512M
(这实际上提供了更好的性能,所以如果你的 Eclipse 编译速度慢,你可以添加 -XX:+UseParallelGC 它会有所帮助)(我不能将它设置得比这更高,当 Eclipse 崩溃时,java 堆大小达到 750m,gc 不会在 DX 编译 jar 时工作,它会尝试在两者之间进行尝试,但 CPU 很忙,不允许它这样做,所以当它到达第四个 3MB 的 jar 时,它的堆上有 600MB 之类的东西,这是为什么我使用 gcoverheadlimit)
将它们中的每一个或几个一起编译会很好地编译它(在同一个android项目中),问题是我找不到单独编译它们的方法(然后我需要在客户端设备上安装apks),当我将它们编译在一起 Eclipse 崩溃。
我尝试使用 cmd 和 DX 逐一编译它们,虽然它是构建的,但是当我在 eclispe 中构建项目时它会重建它,所以就像我什么都没做一样,也试图将 jar 转换为 DEX 文件,没有帮助.
我写了很多关于java堆大小的帖子,这不是我的情况,我什至使用了gcoverheadlimit,太多的罐子会导致它崩溃,如果有人有想法/解决方案,我会向他/她致敬......
总结一下:我想将java常规jar转换为Dalvik格式,然后将其作为资源添加到android项目中,所以当项目编译完成时,不需要将jar转换为Dalvik格式,因为它已经完成了。