Android问题集之打包时避免删除无用资源文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014780554/article/details/80973154

问题描述

在build中如果同时开启以下两个选项,那么打包时就会进行混淆并且会删除无用的资源文件。

// 代码混淆
minifyEnabled true
// 移除无用的resource文件
shrinkResources true

虽然删除无用资源能有助于较小apk大小,但是偶尔也会遇到一些问题。
比如用到一些第三方的东东,需要导入它的资源,但是在代码中又没有明确的引用这些资源,那么打包的时候就会删除这些资源文件,导致使用的时候会加载不到资源文件而出现异常报错。

解决方案

在项目的src/main/res目录下,添加raw/keep.xml文件,内容如下

<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@drawable/yw_1222_*,@drawable/res_name" />

这里的@drawable/yw_1222_*和@drawable/res_name就是那些需要避免被删除的资源文件,多个资源文件之间用”,”符号分开。

猜你喜欢

转载自blog.csdn.net/u014780554/article/details/80973154