如何减小 Ionic Android APK 文件的大小?

How do I decrease the size of the Ionic Android APK file?

我使用 Ionic 创建了应用,Android APK 文件太大。

在 API 集成之前文件大小为 4.8MB。当我集成 API 时,我只修改了 10 页,现在 APK 文件大小为 71 MB。

以下是我用过的 Cordova 插件:

我解压缩了 APK 文件以了解发生了什么。我查看了 assets/www/ 文件夹中的 build 文件夹,它本身就有 357MB,其中包含 JavaScript 和 MAP 文件以及一个 4.5MB CSS 文件。

如何减小 Ionic Android APK 文件的大小?

在构建用于生产的 APK 文件时,您应该使用 --prod--release 标志。它通过压缩文件来减小大小。

ionic build android --prod --release

请使用以下命令:
ionic cordova build android --minifycss --optimizejs --minifyjs --release [note:- "ionic cordova build android --prod --release" command have email pattern matching issue in a form, always give invalid email error hence not used that command]
使用下面 link 了解更多详情:
https://ionicframework.com/docs/cli/cordova/build/

运行 cordova clean 从构建工件中清理项目。

致运行使用较新版本的 Ionic 解决该问题的人:

Ionic 4.3 中,构建脚本中似乎存在错误。如果您 运行 调试构建,然后 release/production 构建,www 文件夹不会被清除,您将拥有 www 中的所有源映射 (.js.map) 文件文件夹,因此在最终的 apk 文件中。

https://github.com/ionic-team/ionic-cli/issues/3954

看起来像一个错误(不确定)但是当实时重新加载处于活动状态时,摇树功能会导致构建将几个块文件发送到 www 文件夹中,我认为你重新加载的次数越多,就越多你在那里的文件。

所以您会看到

格式的文件
0.7f0f403f3c9f5914fbce.js
0.7f0f403f3c9f5914fbce.js.map
1.0db885b5a44ebd4ca57e.js
1.0db885b5a44ebd4ca57e.js.map
...and the number goes 0, 1, 2, ... n

您只需删除 www 文件夹即可丢弃陈旧的块文件并重建您的应用程序。

之后apk的大小应该是合理的。

执行以下步骤

  1. ng 构建 --prod
  2. 从根文件夹构建之前删除 www
  3. ionic cordova build android --prod --release

检查 sourceMapangular.json 如果 true 把它放在 false

我想我回答有点晚了,但我这里有一些我的观察:

减少生产 APK 的方法。

  1. 确保在创建 APK 之前已创建生产版本 使用此命令创建产品构建

    ng build --prod
    
  2. 现在使用以下命令打开 android studio 以进行进一步的操作

    ionic capacitor run android --prod
    //--prod is optional if you have already performed step 1
    
  3. 您可以设置 minifyEnabled 来缩小代码,这也会大大减小 APK 的大小。

  4. 我还尝试了另一件事,一旦创建了产品构建,就可以从 android 源文件夹中删除未使用的 SVG。我相信这是在资产中添加的,因此在 prod APK 中。 (虽然我不确定执行第 4 步是否安全,但无论如何它并没有伤害我):)

我已经看到使用第 4 步将大小从 4.2 MB 减少到 3.4 MB ;)

这些是我为减小 ionic APK 的大小而执行的步骤。

编码愉快!!