13

我将 shrinkResources 设置为 true,如下所示:

releasepro {
    minifyEnabled true
    shrinkResources true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    applicationIdSuffix ".pro"
}

但这只是删除了一些未使用的资源。我知道 gradle 会进行一些猜测,并留下不确定的资源是否未使用。有没有办法 100% 删除所有未使用的资源?

我在另一个线程中阅读了有关将 shrinkMode 设置为 strict 的信息。那会有帮助吗?我无法尝试,因为我不知道在哪里设置它。寻找示例和文档,但不幸的是无法找到正确的页面。

有没有办法确保 100% 清除未使用的资源?

4

2 回答 2

5

R.raw.Keep(xml 文件)

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:shrinkMode="strict" />

不要忘记从 .java 源文件中引用此资源。有关更多详细信息,请参阅

如果您担心 apk 文件的大小,那么缩小图像文件也是一种很好的做法。也就是将 RGB 通道转换为索引通道,这样可以节省多达 50% 的空间。

使用此站点缩小您的图像media4x.com

于 2015-12-17T14:59:44.583 回答
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

于 2015-12-17T14:47:17.543 回答