# Obfuscation Preferences

Select the 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
--- | ---

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.