如果有Android SDK的同学可以在{ANDROID_SDK_ROOT}/tools/proguard/lib/目录下找到proguard.jar这个jar包。...或者,也可以在{ANDROID_SDK_ROOT}/tools/proguard/bin目录下直接使用脚本执行命令。...那我们的命令可以这样写: java -jar proguard.jar @proguard.cfg 这个文件也就是我们在Android Studio中经常配置的混淆文件了。...它放在{android_sdk_home}/tools/proguard/proguard-android.txt文件中,其它的可以参考的例子在{android_sdk_home}/tools/proguard...-dontwarn android.support.** 本人也是初步了解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
以我们的常用开发工具andorid studio 为例,Android Studio自身集成Java语言的ProGuard作为压缩,优化,混淆和预校验,并配合Gradle工具进行构建,我们只需要在工程应用目录的...build.gradle文件中设置minifyEnabled为true,然后可以到proguard-rules.pro文件中加入我们的混淆规则即可。...大家看到了,有两个混淆文件,proguard-android.txt和proguard-rules.pro,proguard-rules.pro是我们需要自己编写的混淆文件,proguard-android.txt...刚才是开启混淆,那我们如何关闭,比如关闭压缩,关闭优化呢? ?...除了proguard之外,还有一个DexGuard,是专门用来优化混淆Android应用的。它包括资源混淆,字符串加密,类加密和dex文件分割等。
文章目录 一、Proguard 配置简介 二、Proguard 完整注释 一、Proguard 配置简介 ---- 更多 ProGuard 混淆配置参考 : https://www.guardsquare.com.../en/products/proguard/manual/usage 1 ....-keepclasseswithmembers class * { @android.support.annotation.Keep (...); } 二、Proguard 完整注释...# 如果想要启用优化 , 不能只在 ProGuard 项目配置中将优化标志设为 true ; # 相反还要在 build.gradle 中指向 "proguard-android-optimize.txt...-dontnote com.google.android.vending.licensing.ILicensingService # 不混淆 Native 函数 # http://proguard.sourceforge.net
介绍 之前介绍了如何使用命令行将Jar包根据配置文件进行ProGuard,以及ProGuard的过程,会遇到的问题等。接下来会介绍常用的ProGuard如何配置参数。...不常用的可以在官网中查询如何使用。 java -jar proguard.jar @myconfig.pro Filter 每一个类、属性、方法都会有一个全名,例如java.lang.String。...默认ProGuard会读取public以及non-public的类。然而,non-public的类通常没有关联的。可以忽略他们,提升ProGuard速度,而且也不会影响output。...如果因为这个option无法找到那个class的话 ,ProGuard会打印出来Warning的。...(android.content.Context, android.util.AttributeSet); public (android.content.Context
ProGuard ProGuard只读取jars,wars,zips,ears等文件格式的文件。然后对它们进行shrinks,optimizes,obfuscates,preverifies。...因此,我们需要在ProGuard的配置文件中进行配置。而最简单的配置则是通过-keep选项。...使用(Usages) 如果想要执行ProGuard,只需: java -jar proguard.jar options ......你可以在ProGuard安装的lib目录下找到proguard的Jar包。或者,把bin目录包含到命令行脚本中去。...参考资料 Proguard官方文档
目前Android微信采用模块化的Gradle构建方式,也是业界普遍采用的一种方式。...10分钟左右,由于两者优化目的不同,R8也包括的Dalvik字节码方面的内容,后续有可能增加耗时,其他原因上述也提到; Android微信针对dex的部分有自己的优化工作,主要目的是减少dex数量,对Tinker...Correct Bytecodes) 将校正后的字节码重新ReMapping(Process Mapping) 更新usage.txt 、mapping.txt 和 output jars Diff 首先来看我们如何将输入...除此之外,为了保证增量准确率,还做了很多细节上的处理,比如call super/interface class的method 其mapping如何处理、特定的字节码指令如何mapping、ClassReader...出现ClassNotFoundException如何解决等等。
如何使用 ProGuard?...在 ProGuard 官网您可以找到一个 使用手册。 在您深入研究这些配置之前,最好先大概理解 ProGuard 是如何工作的和我们为什么要指定一些额外的选项。 ?...在您读 ProGuard 手册时,您没必要看那些 输入 / 输出的部分,因为这些 Android Gradle 打包插件会替您指定输入源(您和第三方库的代码) 和 Android jar 库(您构建应用时用到的...注意,如果这样做的话,您需要把 Android 默认的 ProGuard 配置加入到您的构建中。...tools 目录下(SDK/tools/proguard/proguard-android.txt),但在新版的 SDK Tools 和 Android Gradle 插件版本2.2.0+上,可以在构建时从
sudio为例: android工程中混淆配置文件:proguard-rules.pro (默认文件名) 混淆开关: 在 build.gradle buildTypes { release {...minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro.../proguard-android.txt # You can edit the include path and order by changing the ProGuard # include...# # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html...在线说明手册 位于sdk中的目录: sdk/tools/proguard Android 混淆代码总结 Android 代码混淆 选项说明 使用proguard混淆android代码
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解。...根据ProGuard的具体使用环境,我分在Eclipse工具和android源码两种编译环境浅谈ProGuard的使用方法。...=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. target=android...Android源码环境中ProGuard使用 在Google发布的android源码中,面对那么多代码和文件目录,此时该如何混淆代码与配置混淆文件呢?...下面以alps/packages/apps/Music为例说说该如何对特定模块做到混淆代码: 在Music目录下,我们看到一个平时不太关注,但今天一定很在意的文件名:proguard.flags ,对了
文章目录 一、Proguard 混淆后的报错信息 二、Proguard 混淆映射文件 mapping.txt 更多 ProGuard 混淆配置参考 : https://www.guardsquare.com.../en/products/proguard/manual/usage 一、Proguard 混淆后的报错信息 ---- 前提 : proguard-rules.pro 混淆配置中配置保留行数 ; # 保留行数...:2473) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop...(Handler.java:30) , 报错的是混淆后的信息 , 可读性很差 ; 二、Proguard 混淆映射文件 mapping.txt ---- 前提 : proguard-rules.pro 混淆配置中配置保留行数...; # 保留行数 -keepattributes SourceFile,LineNumberTable Proguard 混淆后 , 会提供一个 原始代码 与 混淆过的代码 的对应关系文件 mapping.txt
文章目录 一、Proguard 默认混淆结果 二、-keepclassmembers 混淆效果 二、-keepclasseswithmembernames 混淆效果 更多 ProGuard 混淆配置参考...: https://www.guardsquare.com/en/products/proguard/manual/usage 一、Proguard 默认混淆结果 ---- ProGuard 的默认混淆结果
ProGuard简介 ProGuard是2002年由比利时程序员Eric Lafortune发布的一款优秀的开源代码优化、混淆工具,适用于Java和Android应用,目标是让程序更小,运行更快,在Java...子模块升级之后依然依赖宿主的接口、公共方法,这要确保stop方法在子模块升级前后是一致的。当使用-applymapping进行增量编译时stop由b映射为c_。...升子模块依赖的stop方法不兼容,造成子模块无法升级。 了解一下mapping mapping.txt是代码混淆阶段输出产物。...为了解决这个问题,我们决定探究一下ProGuard源码来看下为什么会出现这个问题,如何修复这个问题? 从源码中寻找答案 先看一下ProGuard怎么表示一个方法: ?...前者包含我们编写代码、第三方的SDK,而后者通常是系统库,不需要编译到程序中,比如引用的android.jar、rt.jar。
,即空中下载技术,是 Android 系统提供的标准软件升级方式。...一般来讲,Android差分包升级也需要依赖此分区存放一些中间文件。...2.3 如何进入Recovery模式 一般来讲,进入recovery有两种方式,一种是通过组合键进入recovery,按键指引的方式,各个Android平台都不一样,比如三星的手机是在关机状态下同时按住...Recovery升级原理 3.1 应用层升级流程 在Android应用层部分,OTA系统升级流程。大概的流程图如下所示: ?...具体位置位于升级包中/META-INF/com/google/android/update-script,在我们制作升级包的时候产生。
所以使用proguard时,我们需要有个配置文件告诉proguard 那些java 元素是不能混淆的。...本地方法,不能修改本地方法名 annotations 注释 数据库驱动 有些resource 文件 用到反射的地方 如何实施 现在的系统已经配置为混淆时候会保留 Android系统组件...从4.4升级到4.8就解决了。...升级办法很简单,就是把android sdk目录下的tool/proguard目录覆盖一下即可。...打包出来的程序如何调试 一旦打包出来,就不能用eclipse的logcat去看了,这里可以用android sdk中ddms.bat的tool来看,一用就发现和logcat其实还是一个东西,就是多了个设备的选择
当 ProGuard(混淆)集成到 Android 构建中时,新的 com.android.feature Gradle 插件(用于构建 AIA (安卓即时应用程序)模块)根本不存在,并且 ProGuard...(混淆)没有考虑模块在运行时如何加载在一起。...我建议在处理 ProGuard(混淆)错误前熟读 Android Studio 文档,ProGuard (混淆)手册 以及我的上一篇文章 。...为你所有的即时应用功能启用 ProGuard(混淆) 在可安装的应用程序版本构建过程中,ProGuard(混淆)只运行一次:在使用 com.android.application 插件的模块中。...minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'aia-proguard-rules.pro
然而现在Android Studio对NDK的开发和调试都做了比较好的支持(仍然存在一些bug)。下面就来说一下如何进行配置。...中指定 com.android.tools.build:gradle:2.2.3 //在项目根目录下的build.gradle中指定 假如以前的项目不是这些版本,手动进行升级。...release { 23 minifyEnabled false 24 proguardFiles getDefaultProguardFile('proguard-android.txt...'), 'proguard-rules.pro' 25 } 26 } 27 externalNativeBuild { 28 ndkBuild{ 29...release { 21 minifyEnabled false 22 proguardFiles getDefaultProguardFile('proguard-android.txt
介绍 现在我们知道了Gradle如何工作,如何创建自己的Task以及Plugin,如何执行test任务,如何设置CI。...在这一节我们来看看如何通过Gradle构建配置来减少APK大小。...proguard-android.txt文件作为默认的ProGuard配置文件。...而该文件就在Android SDK的tools/proguard目录下。...} } 临时禁用可以使Ant工程可以更快的升级到Gradle中。
参考 Android A/B升级又称静默升级,它是一种在系统运行过程中进行的升级功能。为了减小系统运行负荷,整个升级过程会保持在一个较低的IO状态,所以升级时间比recovery升级明显要长。...原生Demo APP 原生的升级参考示例APK(以Android Q AOSP为例):packages/apps/Car/SystemUpdater 这是Android P(9)Google提供的一个...Demo APK,可以用作本地U盘测试升级 启动方式:adb shell am start com.android.car.systemupdater/.SystemUpdaterActivity 该应用大概流程逻辑...base/core/java/android/os/UpdateEngineCallback.java 3.2....---- 4. update_engine模块概述 update_engine是A/B升级的核心逻辑,用于执行下载和升级,路径:android/system/update_engine/ update_engine_client
后来发现这个升级失败提示找不到什么/sdcard/update.zip文件,猜想可能是由于下载失败造成的。其实整个升级包30多兆,如果在sd卡上找不到这个东西手工下载之后放入直接升级就行了。...OTA升级包:http://android.clients.google.com/packages/ota/google_nakasi/03a4eaf95f73.signed-nakasi-JZO54K-from-JRO03D...另外的升级方法可以参考这个链接:http://www.androidcentral.com/how-manually-update-your-nexus-7-android-412 ☆文章版权声明☆...* 网站名称:obaby@mars * 网址:https://h4ck.org.cn/ * 本文标题: 《Nexus 7 升级Android 4.1.2》 * 本文链接:https://h4ck.org.cn...---- 分享文章: 相关文章: Nexus 7 root Android PicasaTool Ad Free SamSung I9100GZCLC2 Root Android OS and SoftWare
领取专属 10元无门槛券
手把手带您无忧上云