首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 安全】DEX 加密 ( Proguard 简介 | Proguard 相关网址 | Proguard 混淆配置 )

文章目录 一、Proguard 简介 二、Proguard 相关网址 三、Proguard 混淆配置 一、Proguard 简介 ---- Android 开发中 Proguard 主要作用是对 Java...proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' }...} } 上述 proguard-rules.pro 是开发者自己手动配置的 , 上述 proguard-android-optimize.txt 混淆配置文件是系统自动生成的 , 该 proguard-android-optimize.txt...(‘proguard-android-optimize.txt’)}”) 语句 , 打印了混淆脚本 proguard-android-optimize.txt 的路径 , 其打印结果如下 , 该混淆脚本在...\intermediates\proguard-files\proguard-android-optimize.txt-3.6.1 生成混淆配置脚本 proguard-android-optimize.txt

55700
您找到你想要的搜索结果了吗?
是的
没有找到

Android-Proguard(混淆)

build.gradle文件中设置minifyEnabled为true,然后可以到proguard-rules.pro文件中加入我们的混淆规则即可。...大家看到了,有两个混淆文件,proguard-android.txt和proguard-rules.pro,proguard-rules.pro是我们需要自己编写的混淆文件,proguard-android.txt...除了proguard之外,还有一个DexGuard,是专门用来优化混淆Android应用的。它包括资源混淆,字符串加密,类加密和dex文件分割等。...,比如用extends,implement等这些Java规则, #如下:保持Android底层组件和类不要混淆   -keep public class * extends android.app.Activity...自定义的View默认也不会被混淆;所以像网上贴的很多排除自定义View,或四大组件被混淆的规则Android Studio中是无需加入的; 4,与服务端交互时,使用GSON、fastjson等框架解析服务端数据时

1.3K40

微信Android增量Proguard方案

然而我们另辟蹊径,自研一套Inc-Proguard方案,解决了无法增量Proguard问题,实现将耗时降低到分钟级别。 问题出在哪?...目前Android微信采用模块化的Gradle构建方式,也是业界普遍采用的一种方式。...Full Proguard 图3 Apply Mapping Proguard 图4 Proguard部分流程 具体原因主要有几点: Proguard过程深度复杂【图4】,每个阶段都存在一定的耗时...的原因; 从工程架构考虑,业务Feature层次明确,顺其自然的对Feature部分进行混淆即可,但这种方案也是需要工程架构进一步改造,约束规则,并没有解决根本问题; 综上,我们考虑到在日常开发构建过程中...10分钟左右,由于两者优化目的不同,R8也包括的Dalvik字节码方面的内容,后续有可能增加耗时,其他原因上述也提到; Android微信针对dex的部分有自己的优化工作,主要目的是减少dex数量,对Tinker

2.2K20

ProGuardAndroid 上的使用姿势

虽然有些错误会在构建应用时发生,您能及时发现,但是也有些错误您只能在运行时发现,所以请确保您的应用经过彻底的测试。 如何使用 ProGuard?...当一些类和方法会被动态访问到时(如使用反射),在某些情况下,ProGuard 在构建调用图时不能正确的决定他们的「生死」,导致这些代码被错误的移除掉。...在一次 Android 典型的构建过程中,AAPT(处理资源的工具)会生成一个额外的 ProGuard 规则文件。...所以生产环境的构建(开启 ProGuard 时)一定要注重彻底的测试并正视这些错误。...APK Analyzer 和 ProGuard Android Studio 集成的 APK Analyzer 可以帮您看到哪些类被 ProGuard 移除了并支持为它们生成 keep 规则

2.5K40

错误记录】Android Studio 编译报错 ( kotlin library {0} was compiled with a newer kotlin compiler and not b )

文章目录 一、报错信息 二、解决方案 方案一 方案二 方案三 一、报错信息 ---- Android Studio 中打开 Kotlin 代码 , 报如下错误 : kotlin library {...app:dependencies --configuration releaseRuntimeClasspath 命令 , 查询 依赖库情况 , 查询结果如下 : D:\002_Project\002_Android_Learn...See http://developer.android.com/r/tools/jcenter-end-of-service for more information....:kotlin-stdlib:1.7.10 (*) | \--- androidx.appcompat:appcompat-resources:1.5.1 (c) +--- com.google.android.material...= "1.7.10" } 这是由于 Android Studio 中的 Kotlin 插件版本太低 , 当前的 Kotlin 版本 1.7.10 太高导致的 ; 在根目录的 build.gradle

1.6K20

编写 Android Library 的最佳实践

Kotlin?大胆用! Google 早在2017年就官宣了 AndroidKotlin 的关系。我在这次写 SDK 的时候最大胆的决定就是全部使用 Kotlin,事实证明我是正确的。...Studio -> Tools -> Kotlin -> Configure Kotlin in project, Android Studio 会自动帮助项目添加依赖插件, Gradle Sync...其实 Android 的编译系统早就支持库模块包含自己的 ProGuard 配置文件了,如果你希望你自己库里的一些代码,在调用者编译时也不被混淆,可以在自己 library 的 proguard-rules.pro...' ... } 加上之后我们可以编译一次 aar,打开看一下,会发现里面多了一个 proguard.txt文件,一旦你的库被依赖,Gradle 会把这个规则与 app 模块的...,请检查参数" ... } } 这样一写,你的调用者只要点点鼠标,进来看一下你这个类,就能迅速把错误码跟错误提示对应上。

1.1K01

Android 安装包优化】开启 ProGuard 混淆 ( 压缩 Shrink | 优化 Optimize | 混淆 Obfuscate | 预检 | 混淆文件编写 | 混淆前后对比 )

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' }...’ 中 , 配置了两个文件, 其中 proguard-android-optimize.txt 是默认的混淆配置文件 , 由系统自动生成 ; proguard-rules.pro 是用户自己配置的混淆配置文件...' id 'kotlin-android' } android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig...:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.3.2' // 矢量图支持库 , 支持...加密 ( Proguard 混淆 | 混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt ) 【Android 安全】DEX 加密 ( Proguard 混淆 | 将混淆后的报错信息转为原始报错信息

3.5K20

使用 R8 压缩您的应用

不过,大多数应用都会使用 Jetpack、OkHttp、Guava、Gson 和 Google Play 服务 等第三方库,并且用 Kotlin 编写的应用始终包含 Kotlin 标准库。...aapt2 工具通过基于 Android Manifest 文件生成 keep 规则来为您处理这些入口点。 除了这些熟知的入口点,Android 应用还需要其他标准的 keep 规则。...这些规则Android Gradle 插件提供,您可以在配置构建时指定该默认配置文件: android { buildTypes { release { minifyEnabled...第三方库可能附带了它们自己的规则,但是切记,有些库不一定是为 Android 编写的,抑或是未考虑缩减问题,因此它们可能需要其他配置。...要保留名称字段,请在您的 proguard-rules.pro 文件中添加一个保留规则 -keep: -keep class com.example.myapplication.Person {

1.3K30
领券