我将shrinkResources设置为true,如下所示:
releasepro {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix ".pro"
}
但这只是删除了一些未使用的资源。我知道gradle做了一些猜测,并留下了不确定未使用的资源。有没有办法100%删除所有未使用的资源?
我读过在另一个线程中将shrinkMode设置为strict。这会有帮助吗?我无法尝试,因为我无法确定设置它的位置。查看示例和文档,但遗憾的是无法访问正确的页面。
有没有办法确保100%删除未使用的资源?
答案 0 :(得分:5)
R.raw.Keep(xml文件)
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:shrinkMode="strict" />
别忘了从.java源文件中引用此资源。有关详细信息,请参阅this
如果您担心apk文件的大小,那么缩小图像文件的良好做法也是如此。 即将RGB通道转换为索引通道,这可以节省多达50%的空间。
使用此网站缩小图片media4x.com
答案 1 :(得分:1)
要关闭安全检查,请将shrinkMode设置为“strict”,如以下keep.xml文件所示:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:shrinkMode="strict" />
来自:http://tools.android.com/tech-docs/new-build-system/resource-shrinking