Android Studio 真是太好用了,比如有个下面的选项,可以自动删减一些无用的资源文件。
shrinkResources true
注:在 [ minifyEnabled true ] 的情况下有效
一般情况下,手动懒得删除的资源文件,在编译的过程中都会被删掉。一般情况下很好用,当然也有但是。
如果一些代码里通过反射的方式使用了资源,这个选项有可能造成一些资源被误删掉,导致 app 运行时异常。
这时就该 keep.xml 出场了。
一个 keep.xml 是如下所示格式
<?xmlversion="1.0"encoding="utf-8"?> <resourcesxmlns:tools="http://schemas.android.com/tools" tools:keep="@drawable/mobvista_*,@values/mobvista_*,@layout/mobvista_*,@drawable/dm_mv_*,@drawable/tao_phone_*,@color/white,@color/app_wall_tab,@color/main_color," />
这个文件可以放在 res/xml/ 中或其他文件夹下,这个文件本身不会添加到 apk 中。只是指示哪些资源文件是要保留的。
参考 https://developer.android.com/tools/help/proguard.html
时间: 2024-10-14 05:34:57