Use proguard on the assembled smali/baksmali jars

This is primarily to remove any unused classes, to reduce the jar size
This commit is contained in:
Ben Gruver 2012-06-20 16:32:28 -07:00
parent 0aa30d93f8
commit 0534f304b6
2 changed files with 81 additions and 0 deletions

View File

@ -33,6 +33,46 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<proguardVersion>4.8</proguardVersion>
<obfuscate>false</obfuscate>
<includeDependency>false</includeDependency>
<injar>${project.build.finalName}-jar-with-dependencies.jar</injar>
<outjar>${project.build.finalName}-jar-with-dependencies-small.jar</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<options>
<option>-keep public class org.jf.baksmali.main {
public static void main(java.lang.String[]);
}</option>
<option>-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}</option>
</options>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
</libs>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>4.8</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<resources>
<resource>

View File

@ -118,6 +118,47 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<proguardVersion>4.8</proguardVersion>
<obfuscate>false</obfuscate>
<includeDependency>false</includeDependency>
<injar>${project.build.finalName}-jar-with-dependencies.jar</injar>
<outjar>${project.build.finalName}-jar-with-dependencies-small.jar</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<options>
<option>-dontoptimize</option> <!--optimization takes *forever* for smali-->
<option>-keep public class org.jf.smali.main {
public static void main(java.lang.String[]);
}</option>
<option>-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}</option>
</options>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
</libs>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>4.8</version>
</dependency>
</dependencies>
</plugin>
</plugins>
<resources>
<resource>