我可以减小用 LWUIT 编写的 J2ME jar 的大小吗?
Posted
技术标签:
【中文标题】我可以减小用 LWUIT 编写的 J2ME jar 的大小吗?【英文标题】:Can I reduce the size of J2ME jar that is written with LWUIT? 【发布时间】:2011-09-21 10:01:02 【问题描述】:我用 LWUIT 编写 J2ME 应用程序。完成我的应用程序后,jar 大小为 0.99Mb。那是可怕的大小,无法使用 NetBean IDE 6.9 模拟器进行调试。 NetBean IDE 6.9 中只有一个触摸模拟器可以运行它,其他没有足够的空间来安装。但是我用诺基亚5530和诺基亚N85测试我的应用程序,很好用。但是其他最低的 JVM 手机没有运行那个大小。如何减小 jar 的大小? LWUIT jar 大小(需要为我的应用添加 jar)为 700kb...
【问题讨论】:
【参考方案1】:使用obfuscating 减小jar
文件大小。在您的 netbeans 项目中将混淆级别设置为 High
。然后清理并构建项目。现在查看jar
文件大小。会减少。
【讨论】:
【参考方案2】:混淆可能是一种方式,但我相信您不会使用 LWUIT 的所有功能,然后通过 jarOpt 删除未使用的类应该会有所帮助。并且通常将所有 jar 和类重新打包到一个具有最高压缩级别的 JAR 中。
【讨论】:
混淆会自动删除未使用的类和方法,使 jarOpt 变得多余。 但是混淆使调试变得非常困难。 OP 也想调试它。 调试时不要混淆,因为无论如何你都没有反射,你不能将它用于生产中的日志或堆栈跟踪。 jar 大小只在生产过程中很重要,在调试过程中不重要。 但是 OP 说他/她在将其加载到模拟器中进行调试时遇到了问题。设备调试呢? 我错过了那个。答案很简单:不要使用 Java SDK 3.0。它是一个糟糕、缓慢的模拟器,超时太快并且有太多错误(等待 3.1 应该会更好)。与此同时,我们都使用 Sprint WTK 3.3.x,它更快更容易使用。无论如何,你最好在调试时从源代码构建 LWUIT,这样你就可以进入 LWUIT,这会产生巨大的影响。以上是关于我可以减小用 LWUIT 编写的 J2ME jar 的大小吗?的主要内容,如果未能解决你的问题,请参考以下文章