Android shrinkResources 问题

一、shrinkResources 作用

    android {
        buildTypes {
             debug {
                    minifyEnabled false
                    shrinkResources false
                }
                release {
                    minifyEnabled true
                    shrinkResources true
                }
        }
    }
shrinkResources = true作用是删除无用的Resource,是与minifyEnabled 一起使用,minifyEnabled =true是开启混淆。

二、使用shrinkResources 出现的问题

android 使用了shrinkResources = true后,有时候会出现问题。
最近项目集成阿里百川的意见反馈,添加的安全图片只是做验证,项目里面未引用。debug模式自然是没问题,因为shrinkResources 设置的是false,但在release 模式下,当shrinkResources = true的时候,集成的意见反馈出问题。

解决办法如下:
新增res/raw/keep.xml文件,在里面把需要保留的资源文件列举出来
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@drawable/yw_1222"/>
如此问题就解决了。如果项目中需要keep多个资源可以tools:keep="@drawable/a,@layout/b,@layout/c"。意思就是在混淆的时候这些资源不要删除。
发布了29 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sushineboy/article/details/72960435