混淆

# 混淆:

> 项目发布上线的apk都要进行混淆处理,混淆有两个主要目的: 
(1)优化安装包的大小, 混淆后安装包会变小
(2)修改类名,方法名,属性名为abcd...防止别人反编译查看你的代码;

> 操作步骤:

(1)在project.properties文件中进行配置,打开混淆;
(2)在proguard-project.txt文件中声明混淆规则:
 所有用到返回的的地方都不能进行混淆:
 比如使用gson解析的实体类不能混淆; 
 js调用的java方法不能进行混淆;
 所有的第三方库不要进行混淆;
 eventBus

(3)具体配置规则:
## 用到gson解析时,需要进行如下配置
-libraryjars libs/gson-2.2.1.jar   
-dontwarn com.google.gson.**               
-keep class com.google.gson.** { *; }      
-keepattributes Signature  
## 所有的通过gson解析的实体对象不能进行混淆
-keep class cn.itcast.androidext.bean.**
-keep class cn.itcast.androidext.bean.** { *;}

## eventbus.jar及其接收事件不进行混淆
-libraryjars libs/eventbus.jar
-dontwarn de.greenrobot.event.**
-keep class de.greenrobot.event.** { *; }
## 所有的onEvent开头的方法不进行混淆
-keepclassmembers class ** {
    public void onEvent*(**);
}

## js调用的java类的方法不能混淆
-keep class cn.itcast.androidext.demo04_webview.WebViewActivity {
    public *;
}
-keep class cn.itcast.androidext.demo04_webview.WebView2Activity$JsInterface {
    public *;
}

## 所有的第三方包不进行混淆,友盟第三方包不进行混淆
-libraryjars libs/umeng-analytics-v5.6.1.jar   # 不加可能会出现“类1 can't find referenced class 类2”这样的错
-dontwarn com.umeng.analytics.**               # 不对错误提出警告
-keep class com.umeng.analytics.** { *; }      # 对指定的类不混淆


## AndroidStuido 友盟多渠道打包 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值