Android studio 代码混淆

最近项目不紧,在学新技术。听说项目也快发布正式版本,就琢磨着写混淆配置文件打包发布,不想它吭我太久,今天终于解决,记录下。

问题:
问题1:debug运行程序正常跑,混淆后跑代码查看log显示类型转换异常的错误,程序跑欢迎界面白屏。
解决:由于有些不改混淆的类和接口被混淆了,所以需要特别写出来它不需要混淆。我把程序里所有的model都不混淆。
 #model
-keep interface com.taisau.facerecoginition2..ui.user.login.LoginContract.Model{
    *;}
-keep interface * extends com.mvpFrame.baseMvp.BaseModel
-keep public class * implements com.mvpFrame.baseMvp.BaseModel
-keep interface com..mvpFrame.baseMvp.BaseModel{
    *;}
-keepclassmembers public class com..ui.user.login.LoginModel{
      public protected *;
    }
问题2:程序请求登录成功后,无法进入主页面。
解决:由于混淆时候所有的bean是不需要混淆的。但是我有一个baseRespose不小心没有放在bean包里,因为我将它移到bean包里就可以啦。 

-keep class com.bean.**{
    *;}

混淆错误甄别:可借助 mapping.txt( 表示混淆前后代码的对照表)和log定位混淆错误位置,快速解决问题。

混淆文件:
一:基本不动区域
#---------------------------------基本指令区----------------------------------
#打印日志,保留异常,源文件行数信息。
-printmapping proguardMapping.txt
#-optimizations !code/simplification/cast,!field/*,!class/merging/*
-keepattributes *Annotation*,InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-renamesourcefileattribute SourceFile
-keepattributes Exceptions,SourceFile
#Shrink Options
<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值