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

11

我使用Ionic创建了这个应用程序,但安卓APK文件太大了。

在API集成之前,文件大小是4.8MB。当我集成API并修改了仅有的10个页面后,APK文件大小变成了71MB。

以下是我使用的Cordova插件:

  • cordova-plugin-console
  • cordova-plugin-datepicker
  • cordova-plugin-device
  • cordova-plugin-network-information
  • cordova-plugin-splashscreen
  • cordova-plugin-statusbar
  • cordova-plugin-whitelist
  • cordova-plugin-x-socialsharing
  • cordova-sqlite-storage
  • es6-promise-plugin
  • ionic-plugin-keyboard

我解压了APK文件,查看了位于assets/www/文件夹中的build文件夹,发现它的大小达到了357MB,其中包含JavaScript和MAP文件以及一个4.5MB的CSS文件。

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


你是如何生成它的?你是否使用了 --prod 标志? - Suraj Rao
我没有使用 --prod。不管怎样,我会再次检查它的。谢谢。 - Praveen Vishnu
我最近发现一些版本的键盘模块太大了。只需检查一下即可。 - Hyuck Kang
8个回答

14

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

ionic build android --prod --release

6

针对使用新版本Ionic遇到的问题:

Ionic 4.3中的构建脚本似乎存在一个错误。如果您运行调试构建,然后再运行发布/生产构建,www文件夹不会被清除,您将在www文件夹中拥有所有的sourcemap (.js.map)文件,因此它们出现在最终的apk文件中。

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


4
请使用以下命令:
ionic cordova build android --minifycss --optimizejs --minifyjs --release [注意:在一个表单中,“ionic cordova build android --prod --release” 命令存在电子邮件模式匹配问题,会一直提示无效的电子邮件错误,因此不使用该命令]
更多详情请参考以下链接:https://ionicframework.com/docs/cli/cordova/build/

3

看起来是一个bug(不确定),但是当实时重新加载功能启用时,摇树功能会导致构建将几个块文件发出到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大小应该是合理的。

2
运行cordova clean命令可清除项目中的构建产物。

1

请按照以下步骤操作:

  1. 运行命令:ng build --prod
  2. 在根目录下构建之前,请删除www文件夹
  3. 运行命令:ionic cordova build android --prod --release

0

我觉得我回答有点晚了,但这是我的一些观察:

减少生成 APK 的方法。

请确保在创建APK之前已创建了生产版本。 使用以下命令创建生产版本: ng build --prod
现在使用以下命令打开Android Studio进行后续操作: ionic capacitor run android --prod //--prod是可选的,如果您已执行步骤1,则可以省略
您可以设置 minifyEnabled 来缩小代码,这将大大减小APK的大小。
我尝试过另一件事,在创建生产版本后,您可以从android源文件夹中删除未使用的SVG。 我相信这被添加到资产中,因此在prod APK中也存在。(虽然不确定第4步是否安全,但它并没有以任何方式损害我) :)

我已经看到使用第四步骤,大小从4.2 MB减小到了3.4 MB ;)

这些是我采取的步骤来减小ionic APK的大小。

编程愉快!


0

如果angular.json中的sourceMaptrue,请将其更改为false


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接