Proguard是安卓提供的方便开发者对代码和apk进行保护和精简的工具,可在SDK/tools文件夹下找到。
proguard的作用 :
1,代码混淆
2,精简代码,删掉没有用到的代码,减小apk的体积。
使用场景:
注意,直接build生成的APK是不进行混淆的,必须是signed的apk才会混淆
转载
2024-02-28 15:27:49
73阅读
# 如何实现“Android哪些不能被混淆”
在Android开发中,使用ProGuard进行代码混淆可以帮助我们保护应用程序的源码。然而,有时我们不希望某些类、方法或字段被混淆,这通常是因为它们会被外部库、框架或调用所依赖。本文将带你逐步了解,在Android开发中,哪些部分不能被混淆,以及如何实现这一过程。
## 流程步骤
在实现“哪些不能被混淆”之前,首先我们需要了解整个流程。以下是一
-keep class com.xxx.**
-keep class com.xxx.*一颗星表示只保持该包下的类名,而子包下的类名还是会被混淆.两颗星表示把本包和所含子包下的类名都保持注意:用以上方法保持类后,你会发现类名虽然未混淆,但里面的具体方法和变量命名还是变了,这时如果既想保持类名,又想保持里面的内容不被混淆,我们就需要以下方法了-keep class com.xxx.*{*;}
-ke
转载
2023-07-10 10:52:37
1099阅读
Android Proguard 混淆文件的规则及使用简介一个能够 压缩、优化和混淆整个项目代码的配置文件,可以通过配置,删除项目中的移除无用代码、减小apk体积、通过使用无意义的名称重命名类、字段和方法,达到混淆的作用,防止反编译,使得apk更不容易进行逆向工程。原理ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Pr
转载
2023-10-19 07:50:33
186阅读
一:情景分析有时候看到其他应用App的一些效果很炫,或者是功能实现很好就想着参考参考,于是乎,下载APK----反编译APK---查看源码。。。。,但是悲剧来了。。。。源码都是些a,b,c。。。等等这样的东东,根本啥都看不明白,后来了解到这是程序的作者保护自己劳动成果的“手段”,于是乎自己就想咱也试着“保护一下”自己的劳动成果吧,至此开启了“Android混淆代码”的旅程二:初始了解到Androi
转载
2024-07-18 06:49:13
30阅读
开启混淆在build.gradle的buildTypes中添加一下的依赖就可以开启了混淆;buildTypes {
debug {
// 开启混淆
minifyEnabled true
// 开启资源压缩,编译时会自动删除未使用到的res资源
shrinkResources true
转载
2024-08-20 22:18:31
85阅读
代码混淆有其必要性及特殊性,要用好混淆文件,也得注意其中隐藏的坑。一、基本配置:1、基本指令的添加#############################################
#
# 对于一些基本指令的添加
#
#############################################
# 代码混淆压缩比,在0~7之间,默认为5,一般不做修改
-optimizatio
转载
2023-10-09 18:20:26
269阅读
ProGuard是一个开源的Java代码混淆器。它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码。它是无法混淆Native代码,资源文件drawable、xml等。
转载
2023-07-25 11:09:05
439阅读
APP没有混淆,一点安全感也都没有了,随便一个反编译的工具都能看到apk中的代码。代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。为了加大反编译的成本,但是并不能彻底防止反编译。开启混淆:在项目路径下app目录下的build.gradle文件,找到minifyEnabled这个配置,然后设置为true即可。relea
转载
2023-08-10 13:02:52
224阅读
## Android代码混淆的步骤
下面是实现Android代码混淆的步骤的表格展示:
| 步骤 | 描述 |
| --- | --- |
| 1 | 在项目的build.gradle文件中开启代码混淆 |
| 2 | 配置混淆规则文件 |
| 3 | 构建打包APK文件 |
| 4 | 检查混淆后的代码是否正常运行 |
接下来,我将详细介绍每个步骤需要做的事情,并提供相应的代码示例。
#
原创
2023-09-02 11:07:22
34阅读
开启混淆在AS中,借助于SDK中自带的Proguard工具,开启混淆只需要在release闭包中添加如下两行代码:release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
Apk文件被反编译出来能被获取到里面的代码。对于这种情况,我们可以对项目代码进行混淆,随机生成难理解的类名,方法名,让代码难以阅读,加大功能被盗取的难度。混淆可以起到压缩Apk,混淆文件,预检,优化的作用。1. 使用方式,在gradle文件中设置minifyEnabled为true即可开启混淆buildTypes {
release {
minifyEnabled ture //是否开启代码混淆
转载
2023-06-10 20:48:33
291阅读
混淆的规则 1.压缩 Shrinking 默认开启,优化Apk体积,移除未使用的类和成员 #关闭压缩 -dontshrink 2.优化 Optimization 默认开启,在字节码中进行优化,让应用运行更快 #关闭优化 #-dontoptimize #表示proguard对代码进行迭代优化的次数,Android一般为5 -optimizationpasses n 3.混淆 Obfuscation
转载
2023-07-25 20:08:48
612阅读
一、为什么要保留实体类?原因: 当将实体类混淆后,把JSON字符串解析成对应的实体类的时候,会出现解析不成功的情况。所有属性的值都是默认值或者null。 但是如果是本地new的和通过set方法设置属性值的不受混淆影响。二、为什么要保留四大组件?原因: &nbs
转载
2023-10-06 18:37:42
179阅读
首先说经过Java的初步学习,我已经能体会Java完完全全是针对生活的一种高度抽象,其面向对象的思想核心让程序编写的中心由考虑程序运行的顺序和步骤转向了研究分析各个不同组件(对象和类)之间的关系与相互作用,这一点是面向过程的编程思想不能达到的。反观之前自己写的Python程序,完全没有发挥出面向对象编程的精髓,整个方法都有偏离。由于Java这种高度抽象性,我们只需通过生活中的具体实例,就能理解Ja
转载
2024-09-26 09:51:59
39阅读
# Android 防止某个类被混淆
在Android开发中,为了保护代码,开发者通常会使用ProGuard或R8进行代码混淆。但有时候,我们需要确保某些类不被混淆,特别是那些与第三方库或外部接口交互的类。在这篇文章中,我将指导你完成这一过程。
## 实现流程
下面的表格展示了实现防止类混淆的基本流程:
| 步骤 | 描述 |
|----|------|
| 1 | 打开 `progua
原创
2024-08-29 06:57:04
134阅读
# Android混淆防止内部类实现类被混淆
## 1. 整体流程
下面是实现“Android混淆防止内部类实现类被混淆”的步骤:
```mermaid
pie
title Android混淆防止内部类实现类被混淆
"创建内部类" : 40
"配置混淆规则" : 30
"混淆代码" : 30
```
## 2. 具体步骤
### 步骤一:创建内部类
首先
原创
2024-07-14 09:10:16
167阅读
最近研究了一下代码的混淆,总结如下: 1.build文件中minifyEnabled设置为true,然后开始配置proguard-rules.pro文件中的内容,分为三部分吧 1)可以直接复制粘贴的,不需要做任何修改的固定内容#压缩等级,一
转载
2023-07-10 13:59:32
227阅读
1.大通套混淆规则: #############################################
#
# 对于一些基本指令的添加
#
#############################################
# 代码混淆压缩比,在0~7之间,默认为5,一般不做修改
-optimizationpasses 5
# 混合时不使用大小写混合,混合后的类名为小写
-do
转载
2023-08-01 13:27:45
165阅读
题目:用C++设计一个不能被继承的类。分析:这是Adobe公司2007年校园招聘的最新笔试题。这道题除了考察应聘者的C++基本功底外,还能考察反应能力,是一道很好的题目。在Java中定义了关键字final,被final修饰的类不能被继承。但在C++中没有final这个关键字,要实现这个要求还是需要花费一些精力。首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的
转载
2023-07-02 16:39:30
63阅读