以前没感受过android的混淆资源,结果给客户整sdk的时候遇到一个怪事,图片明明存在,为什么图片大小变成了空,宽度尺寸变成1了呢?

我还以为是会移除图标的,这也是因为我只听说过没感受过所以我和客户因为这个事情折腾了许久,虽然我意料到是有可能是混淆资源开启导致的,但是客户否认,我也没多说自己也没验证。.

https://developer.android.com/studio/build/shrink-code#shrink-resources

语法

,分割多个,*表示匹配任意字符

开启条件

1、build.gradle修改

shrinkResources true

minifyEnabled true

2、必须都开启,而且只支持主模块。

保持不被混淆

tools:keep=" 内容规则”

保持必须混淆哪怕被引用

tools:discard="规则"

qssq_keep.xml

内容为

tools:keep="

@drawable/qssq_*,

@layout/qssq_*,

@string/bcs_string*,

@drawable/qssq_icon*,

@drawable/qssq_bg*,

@drawable/qssq_xicon*,

" />

强制剔除xml

remove.xml内容

tools:discard="

@drawable/test_remove_x*,

@drawable/test_remove_a*,

@drawable/shadow*,

@layout/activity_main*,

@layout/activity_demo*,

" />

xml被移除后的效果 空xml

压缩效果

xml被压缩后效果

强制解析xml会得到的错误

: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class x

图片被压缩的效果

空图片 透明 宽高为1,

混淆之后实际上图片存在,但是图片是空白的。

这个的作用是防止没有被引用的资源被混淆掉.

只开启资源混淆没配置策略会出现什么情况

没有被java代码通过R.xxx 资源引用使用的都将被压缩处理。

android的资源混淆,android混淆资源引发的血案以及学习感受资源混淆相关推荐

  1. android 常用混淆,Android常用的代码混淆整理【原创】

    android里的代码混淆是比不可少的东西,下面就贴一些常用的代码混淆. #指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcasecla ...

  2. 【Android 应用开发】 Android APK 反编译 混淆 反编译后重编译

    反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载; -- CSDN 下载地址 : http://download.csdn.net/detai ...

  3. android资源加载失败,Unity2017,打成安卓包之后加载资源失败

    在game.unity的基础上简单改了一下,但是执行SceneLoader.Load("Scene/TestScene/TestScene.unity");的时候会看到加载失败的l ...

  4. android 第三方加密软件,Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发...

    第一步:代码混淆(注意引入的第三方jar) 在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt. ...

  5. android 颜色资源文件,android中colors.xml颜色设置资源文件的方法

    1. 打开res目录下的values文件夹,双击打开colors.xml文件进行编辑 上代码 #008577 #00574B #D81B60 #ff0000 #0000ff 2. 在res目录下的la ...

  6. 【Android 插件化】“ 插桩式 “ 插件化框架 ( 类加载器创建 | 资源加载 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  7. 【Android 应用开发】Android 工程修改包名流程 ( 修改 applicationId | 修改 package | 修改 R 资源引用 | 修改 BuildConfig 引用 )

    文章目录 一. Android 工程修改包名流程 二. 修改 applicationId 三. 修改 package 包名 四. AndroidManifest.xml 清单文件组件 五. 修改 R ...

  8. 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19913755 . 一. Android资源文件简介 1 ...

  9. 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题

    . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19698511 . 最近遇到了一系列的屏幕适配问题, 以及 ...

最新文章

  1. 四川高中计算机学校图片,四川2021年100分能上计算机学校吗
  2. 号外号外 你和python大牛的差距有多少?
  3. for 循环里调用ajax,for循环中ajax异步问题如何解决?
  4. (016)java后台开发之Eclipse安装反编译插件
  5. BZOJ1563:[NOI2009]诗人小G(决策单调性DP)
  6. Nginx+Keepalived+Tomcat之动静分离的web集群
  7. linux安全狗 nginx,linux 下 safedog 防护 Nginx
  8. how to check unsolved conflicts file list in git merge?
  9. 睡觉时钱被转走、开房信息被叫卖、数字货币被篡改,你的安全感,还在吗?...
  10. 原生js浏览器兼容性问题
  11. 64位电脑mysql_Windows 64位操作系统下安装和配置MySQL
  12. 实例解析:OperaMasks2.0中的DataGrid之一:定义DataGrid
  13. (转载)MyEclipse 9.1配置ADT(Link方式配置Android开发环境)
  14. java显示一个钟表_java实现时钟效果
  15. [算法笔记]NPC问题证明sample
  16. Android 音频源码分析——audioserver启动
  17. 怎么将excel转换pdf在线转换
  18. 2018年手机ODM行业分析
  19. 相机调试-tuning常见缩写汇总
  20. 碎片粘合:Tasking DD 启发的思考

热门文章

  1. 百变精灵、灵萌仙宠,《神都降魔》带您遨游仙界!
  2. PWM和SPWM的区别
  3. stm32f407 四路pwm输出_STM32之---PWM
  4. 做了一个以防小憩被媳妇打扰的快捷指令
  5. 从陶潜的“化”到王维的“空”
  6. unicode 生僻字_生僻字打不出来怎么办小编教你解决办法
  7. 智慧立法平台,以“智慧”赋能立法工作新格局
  8. 卡片左右滑动 带动任务条滑动 vue
  9. 轻量级过程改进之需求管理
  10. JS中RHS引用和LHS引用的区别