首页 > 解决方案 > 添加大 png 图像 .SO 创建后导致应用程序大小增加

问题描述

我在我的项目中替换了一些 png 图像,但应用程序包没有成功构建,因为 png 文件每个 2-3mb 都太大了。然后我用一些 jpeg 更改了图像,每个文件的大小只有几百 kb。之后,当我构建应用程序时,应用程序的大小从 9mb 变为 27mb。我分析了apk,大部分大小是由于一些lib文件

APK分析

我删除了构建文件夹以删除所有旧文件,但没有帮助。我排除了所有 .so 文件,但没有它们,apk 无法安装。我尝试制作一个捆绑包,但大小也相同。我应该怎么做才能恢复到旧的 apk 大小。

标签: androidapklib

解决方案


Add multi-density vector graphics

Android Studio 包含一个名为 Vector Asset Studio 的工具,可帮助您添加材质图标并将可缩放矢量图形 (SVG) 和 Adob​​e Photoshop 文档 (PSD) 文件作为矢量可绘制资源导入您的项目。使用矢量可绘制对象而不是位图可以减小 APK 的大小,因为可以针对不同的屏幕密度调整相同文件的大小,而不会损失图像质量。

您应该使用 SVG 图像而不是 JPG/PNG。

为了使您的应用程序尽可能小,您应该在发布版本中启用缩小以删除未使用的代码和资源。启用缩小时,您还可以从混淆(缩短应用程序的类和成员的名称)和优化(应用更积极的策略以进一步减小应用程序的大小)中受益。

Shrink, obfuscate, and optimize your app

  android {
    buildTypes {
        release {
            // Enables code shrinking, obfuscation, and optimization for only
            // your project's release build type.
            minifyEnabled true

            // Enables resource shrinking, which is performed by the
            // Android Gradle plugin.
            shrinkResources true

            // Includes the default ProGuard rules files that are packaged with
            // the Android Gradle plugin. To learn more, go to the section about
            // R8 configuration files.
            proguardFiles getDefaultProguardFile(
                    'proguard-android-optimize.txt'),
                    'proguard-rules.pro'
        }
    }

}

推荐阅读