记录一次Oo0代码混淆实现方法

配置Oo0代码混淆,只需要2步:
1,修改Proguard源文件
2,将新的Proguard文件配置给项目

###开始:
关于修改Proguard源文件的方法和如何导出jar包,请参考Oo0代码混淆实现方法

在项目的根目录创建proguard文件夹,把修改源码后的proguard的jar包复制进来:
image.png

然后在根目录的build.gradle文件中配置引入:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G8T38AGY-1600671557468)(https://upload-images.jianshu.io/upload_images/2595400-9c57f9d84dfc3555.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

然后配置proguard-rules.pro文件,可以参考我自己在项目中用的proguard通用配置文件

打包后的效果:
image.png

如果混淆名称想修改成别的字符集,可以参考ONameFactory中的写法
image.png

不想自己编写Proguard源文件的,可以直接点击下载
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZkXfkvoe-1600671557476)(https://upload-images.jianshu.io/upload_images/2595400-5bbd7fb53ea7b109.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

###注意:
有的小伙伴在新版本的AS中虽然混淆了,但是没有按照Oo0的规则进行混淆,可能是一下原因造成的:
1,这个有可能是R8混淆的和Proguard混淆的问题,可以在gradle.properties文件中关闭R8混淆,然后clean一下再重新打包试试.
image.png
2,如果还是不生效,可以把混淆规则改为,(proguard-android-optimize.txt 与 proguard-android.txt的区别,简单来说就是,前者开启了优化,可以自行百度)

proguard-android-optimize.txt

image.png

参考博客,最后感谢原作者的无私奉献:
Oo0代码混淆实现方法
Android Studio自定义proguard混淆

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用OO模式的Python代码案例: 场景:设计一个系统来管理学生的课程成绩信息。 1. 分析阶段: Student(学生):属性包括学号,姓名,性别,年龄,班级等。 Course(课程):属性包括课程编号,课程名称,学分等。 Score(成绩):属性包括学号,课程编号,成绩等。 2. 设计阶段: 在设计阶段,我们需要根据分析阶段得出的实体和属性,设计对应的类。 class Student: def __init__(self, stu_id, name, gender, age, clazz): self.stu_id = stu_id self.name = name self.gender = gender self.age = age self.clazz = clazz class Course: def __init__(self, course_id, name, credit): self.course_id = course_id self.name = name self.credit = credit class Score: def __init__(self, stu_id, course_id, score): self.stu_id = stu_id self.course_id = course_id self.score = score 3. 实现阶段: 在实现阶段,我们需要将类实例化并实现对应的功能。 # 实例化学生、课程和成绩 s1 = Student('001', '张三', '男', 20, '计算机科学与技术1班') s2 = Student('002', '李四', '女', 19, '计算机科学与技术2班') c1 = Course('001', 'Python编程', 3) c2 = Course('002', '算法设计', 4) sc1 = Score('001', '001', 90) sc2 = Score('001', '002', 85) sc3 = Score('002', '001', 92) sc4 = Score('002', '002', 88) # 实现学生、课程和成绩的管理类 class Manager: def __init__(self): self.students = [] self.courses = [] self.scores = [] def add_student(self, student): self.students.append(student) def remove_student(self, student): self.students.remove(student) def find_student(self, stu_id): for student in self.students: if student.stu_id == stu_id: return student return None def add_course(self, course): self.courses.append(course) def remove_course(self, course): self.courses.remove(course) def find_course(self, course_id): for course in self.courses: if course.course_id == course_id: return course return None def add_score(self, score): self.scores.append(score) def remove_score(self, score): self.scores.remove(score) def find_score(self, stu_id, course_id): for score in self.scores: if score.stu_id == stu_id and score.course_id == course_id: return score return None # 实例化学生、课程和成绩管理器 manager = Manager() # 添加学生、课程和成绩信息 manager.add_student(s1) manager.add_student(s2) manager.add_course(c1) manager.add_course(c2) manager.add_score(sc1) manager.add_score(sc2) manager.add_score(sc3) manager.add_score(sc4) # 查找学生、课程和成绩信息 student = manager.find_student('001') print(student.name) course = manager.find_course('002') print(course.name) score = manager.find_score('002', '002') print(score.score) 以上就是一个使用OO模式的Python代码案例,实现了学生、课程和成绩信息的管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值