首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混淆(防范)会导致MIDlet故障吗?

混淆(防范)会导致MIDlet故障吗?
EN

Stack Overflow用户
提问于 2010-05-21 01:57:13
回答 1查看 666关注 0票数 1

我正在尝试用proguard混淆一个Java MIDlet。它在PC上运行正常,然而,当我在手机上运行它时,程序打开,连接到服务器,然后冻结。如果我禁用了模糊处理,它会在手机上再次正常运行。我已经尝试了应用程序的所有混淆级别(NetBeans中的7、8和9),但似乎没有一个能正常工作,如果没有混淆,我无法将此应用程序发布为商业用途。此外,编译器还会抛出一些警告:

代码语言:javascript
复制
Note: duplicate definition of library class [java.io.ByteArrayOutputStream]
Note: there were 14 duplicate class definitions.

但我不知道这是否真的是问题所在。有人知道哪里出了问题吗?下面列出了混淆器参数:

代码语言:javascript
复制
Obfuscator Arguments (7):
    -dontusemixedcaseclassnames
    -default package ''
    -keep public class ** {
        public *;
    }

Obfuscator Arguments (8): same as (7) plus -overloadaggressively.

Obfuscator Arguments (9): same as (8) but
    -keep public class ** extends javax.microedition.midlet.MIDlet {
        public *;
    }
instead.

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-21 04:59:51

混淆可以破坏一些东西。如果没有可移植的示例代码,就很难准确地说出可能的错误所在。一个可能出错的例子是,如果您在代码中通过名称加载一个类-混淆后的类将具有不同的名称,因此将无法找到。

你提到的消息是could be indicative of the problem --你必须在你的路径中不止一次拥有这些类。你提到的那个类与你遇到问题的连接有关吗?仔细查看正在使用的jars,并确保在您的应用程序中包含了正确的(且最小的)类集。CLDC中的ByteArrayOutputStream与桌面JDK中的不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2876487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档