|
|
|
|
Obfuscation Preferences
href="eclipse_java_me_javascript:executeCommand("org.eclipse.ui.window.preferences(preferencePageId=org.eclipse.mtj.ui.preferences.ObfuscationPreferencePage)")"> Java ME >Packaging > Obfuscation category from the left pane of the
preferences dialog to specify preferences that control the processing of
the obfuscated packaging support. MTJ uses Proguard for doing the
obfuscation processing.
Preference items:
Item |
Contents |
Proguard Root Directory |
This value specifies the root
directory for the Proguard installation. Proguard is required to
create obfuscated packaged applications. |
Use Specified Arguments |
By default, MTJ will use the the
arguments
-dontusemixedcaseclassnames -dontnote -defaultpackage ''
when invoking Proguard for obfuscation. If circumstances require a
different set of parameters to be specified, they may be provided by
selecting the check box associated with "Use specified arguments" and
specifying the parameters in the text field.
Important note for Microsoft Windows Users: By
default, ProGuard assumes that you are using an operating system that
can distinguish between two file names that differ only in their case
(i.e. A.java and a.java are two different files. This is
clearly not the case in Microsoft Windows. Windows users should be
sure to specify the -dontusemixedcaseclassnames
option to ProGuard. If you fail to do this, and if you have more than
26 classes in your project, ProGuard's default use of case-sensitive
file names will cause classes to overwrite one another. For safety,
the -dontusemixedcaseclassnames option is included as
one of the default arguments to ProGuard. UNIX users with projects
with many classes may be able to achieve a small reduction in the
final size of their JAR file by removing this option. |
Proguard Keep Expressions |
Proguard keep expressions may be
specified to keep a certain set of classes. For further information
concerning the syntax of these expression, please see the Proguard
documentation. The default expression will keep all midlet classes and
their methods without changes that would confuse the deployment
platform. |
|
|
|