当我尝试缩小功能APK大小时,我在功能Build Gradle中使用shrinkResources true
。
但是它投诉Error:Resource shrinker cannot be used for libraries.
本文要求我们使用它 https://medium.com/jet-stories/make-your-app-instant-33855ab5d02b
我做错了什么或者Instant Apps真的不支持吗?
答案 0 :(得分:3)
根据我从文章中理解的内容(我刚刚快速阅读,仍在我的阅读列表中待定),shrinkResources true
只需要removing unused resources来减少APK尺寸,但它不是Instant Apps的正式要求。我想工具链无法决定资源是否在库中未使用,因为最终的APK没有构建。
因此,如果您的项目中没有未使用的资源,则不应该是一个问题,可以删除。
然后,在您的项目中有一件事可能是错误的(没有自己尝试过Instant Apps,只是阅读并看到Google IO会谈):根据我的理解,即时应用的所有模块都是APK,而不是库。因此,如果您将shrinkResources true
应用于APK,那么您应该很高兴。如果项目中有用于组装最终APK模块的库,则在那里删除shrinkResources true
,然后将其保留在模块中。
答案 1 :(得分:1)
我认为这不是AndroidStudio的错误,而是一个Gradle错误。 我正在尝试使用Jenkins构建,使用Gradle的更新版本(以前使用的是com.android.tools.build:gradle:2.2.3,将其升级到com.android.tools.build:gradle:3.0.1 )我仍然得到错误
">资源缩减器不能用于库。"
答案 2 :(得分:0)
修复程序将在3.2 canary 1中,然后发布。
我刚刚在 3.2 canary 3 上再次尝试了它,它正在运行。您确定已将插件版本更新为3.2.0-alpha03
吗?这很容易被忽视。
如果问题仍然存在,请在Google issue tracker报告,然后重新审核。