我准备发布一个应用程序到生产.所以,我生成了签名的apk.生成签名的apk后,我得到了一个问题.我的apk文件大小有点大,我尝试了缩小apk大小的方法.我已经尝试过了
app --〉Refactor --〉移除未使用的资源
而且它也不是太精简。所以,我在我的build.gradle(app)中添加了shrinkResources true
buildTypes {
release {
minifyEnabled false
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
添加了shrinkResources true后,我在重建的时候出现了下面的错误。我的问题是,我应该如何先打开未使用的代码收缩?谢谢和欣赏。
9条答案
按热度按时间9lowa7mx1#
资源收缩只能与代码收缩一起使用。在代码收缩器移除所有未使用的代码后,资源收缩器可以识别应用仍在使用的资源。在添加包含资源的代码库时尤其如此-您必须移除未使用的库代码,以便库资源变为未引用,从而可由资源收缩器移除
要启用资源收缩,请在build.gradle文件中将shrinkResources属性设置为true(与minifyEnabled一起用于代码收缩)。例如:
参考
hpcdzsge2#
也许您在buildTypes.debug中错误地设置了
minifyEnabled = false
和shrinkResources = true
,所以,也许这是问题的根源,而不是您的buildTypes.releasetf7tbtn23#
gpfsuwkq4#
您可能需要参考Android文档来缩减代码和资源:
Shrink your code and resources
就像已经指出的注解一样,资源收缩只有在使用代码收缩器时才起作用。
ve7v8dk25#
简单只需在应用程序级别打开build.gradle文件,即android/app/build.gradle并实现以下内容:
kyks70gy6#
为了使用资源收缩,您还需要启用代码收缩,因为它们都是协同工作的。
为此,请设置shrinkResources true沿着minifyEnabled true。
你可以在官方网站上找到同样的东西。
xxe27gdn7#
确保将其添加到gradle的适当部分
vfwfrxfs8#
如果您添加了
shrinkResources true
,请确保它在minifyEnabled true
之后,顺序很重要,因此https://stackoverflow.com/a/56426634/10355668是正确的,谢谢j2datikz9#
在debug和release中都将minifyEnabled设置为true