多语言展示
当前在线:1245今日阅读:181今日分享:30

android开发greenDao混淆

greenDao是一个android开发常用的orm框架。混淆是一种防止反编译可以轻易得到源码的保护措施。
工具/原料

编译工具:Eclipse

方法/步骤
1

首先说明我的应用是添加了混淆的。配置文件的位置如下proguard.cfg

3

这个语法是设置那些部分是不被混淆的。-keep public class * extends android.app.Activity                               # 保持哪些类不被混淆(这个一定会用到,因为有些程序部分被混淆会影响一些方法类的调用,导致出错。)

4

下面还有一些不被混淆的设置语法-keepclasseswithmembernames class * {# 保持 native 方法不被混淆      native ;  }    -keepclasseswithmembers class * {# 保持自定义控件类不被混淆      public (android.content.Context, android.util.AttributeSet);  }    -keepclasseswithmembers class * {      public (android.content.Context, android.util.AttributeSet, int);     # 保持自定义控件类不被混淆  }    -keepclassmembers class * extends android.app.Activity {                        # 保持自定义控件类不被混淆     public void *(android.view.View);  }

5

-keepclassmembers enum * { # 保持枚举 enum 类不被混淆      public static **[] values();      public static ** valueOf(java.lang.String);  }    -keep class * implements android.os.Parcelable {# 保持 Parcelable 不被混淆    public static final android.os.Parcelable$Creator *;  }    -keep class MyClass;# 保持自己定义的类不被混淆

6

前面一部分是对混淆用到的一些语法的说明我们对greenDao混淆要写一下代码-libraryjars libs/greendao-1.3.7.jar-keep class de.greenrobot.dao.** {*;}#保持greenDao的方法不被混淆-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {#用来保持生成的表名不被混淆     public static java.lang.String TABLENAME; } -keep class **$Properties

7

最后还要加一个权限到AndroidManifest.xml 

注意事项
1

本步骤需要一定代码基础

2

程序代码以代码片段的形式展示

推荐信息