Android 混淆

本文探讨了Android应用混淆的主要目的,即增加反编译难度。介绍了如何在build.gradle文件中开启混淆,将minifyEnabled设为true,并在proguard-rules.pro文件中配置混淆规则。混淆工具Proguard负责压缩、优化、混淆和校验代码,通过重命名减少代码可读性。
摘要由CSDN通过智能技术生成

1.混淆的目的:不想开源应用,为了加大反编译的成本,但是并不能彻底防止反编译

2.开启混淆:

  • 通常我们需要找到项目路径下app目录下的build.gradle文件

  • 找到minifyEnabled这个配置,然后设置为true.

  •  release{
                minifyEnabled true//是否启动混淆 ture:打开   false:关闭
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }

     

  • proguard-rules.pro文件中配置混淆信息(Proguard是一个集文件压缩,优化,混淆和校验等功能的工具,它检测并删除无用的类,变量,方法和属性,它优化字节码并删除无用的指令,它通过将类名,变量名和方法名重命名为无意义的名称实现混淆效果,最后它还校验处理后的代码

3.混淆文件分析

//不混淆某个类
-keep public class 类名 { *; }
//不混淆某个类的子类
-keep public class * extends 类名 { *; }
//不混淆所有类名中包含了“model”的类及其成员
-keep public class **.*model*.** {*;}
//不混淆某个接口的实现
-keep class * implements 类名 { *; }
//不混淆某个类的构造方法
-keepclassmembers class 类名 { 
    public <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值