使用矢量可绘制减小 apk 大小
Posted
技术标签:
【中文标题】使用矢量可绘制减小 apk 大小【英文标题】:reducing apk size with vector drawable 【发布时间】:2019-05-09 15:52:13 【问题描述】:我正在尝试减小我的 android 应用程序的 apk 大小。
我已阅读此指南:https://developer.android.com/topic/performance/reduce-apk-size
我已经将我所有的图像都转换为矢量绘图,所以它们看起来更小了。
但是当我点击生成 apk 时,android studio 确实为我的每个矢量可绘制对象创建了一个 PNG
版本,并将其与最终 apk 中的矢量一起打包
所以这毫无意义,因为现在我的 apk 既有矢量又有 png...
如何强制 android studio 使用可绘制的矢量,让用户在运行时缩放图像?
【问题讨论】:
【参考方案1】:我知道这是一个老问题,但我最近偶然发现了这个问题。解决方案是启用矢量可绘制支持库。这样它就不会生成旧版本 android 所需的额外 PNG 文件。您可以在 build.gradle 文件中执行此操作:
defaultConfig
vectorDrawables.useSupportLibrary = true
您可以在此处找到更多信息: https://developer.android.com/guide/topics/graphics/vector-drawable-resources#vector-drawables-backward-solution
【讨论】:
【参考方案2】:正如官方文档所说:
如果最低 API 级别为 Android 4.4(API 级别 20)及更低版本,并且 您尚未启用支持库技术 Vector Asset Studio 生成 PNG 文件。
所以检查你的项目是否满足这个条件。
【讨论】:
所以听起来有两种解决方案:1.将minSdkVersion设置为21或更高。 2. 启用“支持库技术”(无论是什么)。 我们的最低 SDK 版本为 21,但仍在生成 PNG 图像。有什么线索吗?以上是关于使用矢量可绘制减小 apk 大小的主要内容,如果未能解决你的问题,请参考以下文章
如何让带有渐变的矢量可绘制对象在 < API 24 中工作?