文档详情

Android打包混淆规范.doc

发布:2017-08-03约1.92千字共4页下载文档
文本预览下载声明
混淆打包 android应用程序的混淆打包 1.在工程文件perties中加入下proguard.config=proguard.cfg , 如下所示: target=android-8 proguard.config=proguard.cfg Eclipse会通过此配置在工程目录生成proguard.cfg文件第三方包导致打包不成功,或者打包成功不能运行的情况 首先加入-dontwarn//不用输出警告 -dontwarn com.slidingmenu.lib.app.** -dontwarn com.actionbarsherlock.app.** -dontwarn android.support.v4.** -dontwarn com.slidingmenu.lib.** -dontwarn cn.sharesdk.** 指明lib包的在工程中的路径,,,-libraryjars后面跟要编译in.jar的其它类包,如果是多个,用多行列出 -libraryjars libs/gson-2.2.2.jar -keep 后跟项目的入口类 -keep class universal-image-loader-1.8.4-with-sources.** { *; } -keep interface universal-image-loader-1.8.4-with-sources.** { *; } -keep class lockSDK_3.3.** { *; } -keep interface lockSDK_3.3.** { *; } -keep class MobileProbe.jar.** { *; } -keep interface MobileProbe.jar.** { *; } -keep class .http.SslError -keep class android.webkit.**{*;} -keep class cn.sharesdk.**{*;} -keep class com.sina.**{*;} keep就是 告诉proguard不用混淆这个包里面的类 如果加了android.support包的话,那么要加上 -libraryjars libs/android-support-v4.jar -dontwarn android.support.v4.** -keep class android.support.v4.** { ; } 如果加了gson包的话,那么要加上 -libraryjars libs/gson-2.2.2.jar -keep class sun.misc.Unsafe { *; } -keep class com.google.gson.stream.* { ; } -keep class com.google.gson.examples.android.model.* { ; } -keep class com.google.gson.* { *;} 如果的话,那么要加上 -keep public class * implements java.io.Serializable{ public protected private *; } 如果的话,比如空指针异常,或者是反射的时候报错是不是实体类被混淆了。导致找不到实体类无法get或者set,那么要加上 -keep public class mypackage.MyBean { public void setMyProperty(int); public int getMyProperty();} 最后,我们看一看混淆的过程 -libraryjars libs/android-support-v4.jar -dontwarn android.support.v4.** -keep class android.support.v4.** { ; } 解释: -libraryjars指明lib包的在工程中的路径而-dontwarn android.support.v4.**和-keep class android.support.v4.** { ; }这两个参数用来保持第三方库中的类而不乱,将-dontwarn和-keep 结合使用,意思是保持android.support.v4.** { ; },这个包里面的所有类和所有方法而不混淆,接着还叫ProGuard不要警告找不到android.support.v4.** { ; }这个包里面的类的相关引用
显示全部
相似文档