Installation
1. Unzip the Obclipse Release
2. Copy desired JRE to the base directory of Obclipse, or specify path to java home inside the launcher file
3. Copy a proguard.jar to the Obclipse/lib directory (Versions: 3.8-4.6)
4. Copy an ant.jar to the Obclipse/lib directory if the ant-task is used, and specify the correct "obclipseBaseDir" inside the launch.xml
Configuration
1. Configure the obclipse.properties file
2. Add basic and special desired options for ProGuard inside the obfuscationParameter.pro
Execution
Warning: The files of the specified product are changed. This could not be reverted. Please make a copy of your product before running the obfuscation process.
1. Run the obfuscation by executing the os specific launcher file or call the predefined ant task inside launch.xml from your ant script
Plugin structure:
mfb2.smalltool
- src
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java
- lib
-- additionalLib.jar
-- additionalLib2.jar
- META-INF
-- MANIFEST.MF
- schemas
-- mySchema.exsd
- build.properties
- plugin.xml
Packaged Plugin structure (only src dir):
Variant 1 (plugin unpacked, src-code jared):
mfb2.smalltool
- mfb2.smalltool.jar
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java
Variant 2 (plugin packed, src-code jared):
mfb2.smalltool.jar
- mfb2.smalltool.jar
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java
Variant 3 (plugin unpacked, src-code not jared):
mfb2.smalltool
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java
Variant 4 (plugin packed, src-code not jared):
mfb2.smalltool.jar
-- mfb2.smalltool.SmallToolActivator.java
-- mfb2.smalltool.views.MyView.java
-- some.other.path.ClsOfSomeOtherPath.java
1. | Unpack jared Plugins |
1.1 | After unpacking the Variant 2 is equal to 1 and Variant 4 is equal to 3 |
2. | Create the proguard config file |
2.1 | The whole obfuscationParamter.pro file is included |
2.2 | Depending on the parameters of the obclipse.properties file the dynamic product specific configuration is added |
2.2.1 | The plugins to obfuscate has to be specified: applicationPrefix=mfb2.smalltool,mfb2.utils All other plugins are added as libraries |
2.2.2 | The library dirs of the plugins have to be specified: pluginLibSubDirs=lib |
2.2.3 | The configured filter has to collect all src code: proguardFilter=(*.jar;mfb2/smalltool/**,some/**) "*.jar": includes the jared src-code "mfb2/smalltool/**": includes all folders and files inside the mfb2/smalltool directory "some/**": includes all folders and files inside the some directory So all the src-code of the variants 1 to 4 is covered. All other files and directories of the plugins are ignored by ProGuard. For more details have a look at the ProGuard documentation |
3. | Execute ProGuard |
4. | Special files like the MANIFEST.MF and plugin.xml are fixed |
5. | The unpacked plugins are jared |