kristain

博客园 首页 新随笔 联系 订阅 管理

  近来公司开发一系列移动产品,作为产品提供方,需要提供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.** {
    <fields>;
    <methods>;
}

-keep interface  android.support.v4.app.** {
    <fields>;
    <methods>;
}

-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.** {
    <fields>;
    <methods>;
}

  第二步:使用android-sdk\tools\proguard打jar包

   执行“android-sdk\tools\proguard\bin\proguardgui.bat” ,选中第一步的proguard.pro文件,执行完毕会在E:\workspace\SDK\libs目录下生成一个sdk.jar

  第三步:使用反编译文件,查看sdk.jar ,里面相关的widget等均被混淆。

posted on 2013-07-26 01:10  kristain  阅读(147)  评论(0编辑  收藏  举报