近来公司开发一系列移动产品,作为产品提供方,需要提供demo示例给商户,又不想把源码直接提供给对方,就需要对自己的android工程进行混淆打包。
下面是打包过程:
第一步:原工程(此工程为Library)中创建一份proguard.pro文件:
-injars bin\sdk.jar-outjars 'E:\workspace\SDK\libs\sdk.jar' -libraryjars libs\android-support-v4.jar //该工程中引用到的jar-libraryjars 'C:\android-sdk\platforms\android-7\android.jar'-dontoptimize-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*-optimizationpasses 5-dontusemixedcaseclassnames-dontpreverify-verbose-dontwarn android.support.v4.**-keep class android.support.v4.** {; ;}-keep interface android.support.v4.app.** { ; ;}-keep public class * extends android.support.v4.**-keep public class * extends android.app.Fragment-keep public class * extends android.app.Application-keep public class * extends android.app.Activity-keep public class * extends android.app.Service-keep public class * extends android.app.Service-keep public class com.****.widget.** { ; ;}
第二步:使用android-sdk\tools\proguard打jar包
执行“android-sdk\tools\proguard\bin\proguardgui.bat” ,选中第一步的proguard.pro文件,执行完毕会在E:\workspace\SDK\libs目录下生成一个sdk.jar
第三步:使用反编译文件,查看sdk.jar ,里面相关的widget等均被混淆。