为什么有些 app 体积安装包 这么少, 0.6m, 1m, 我原生打包个 hello world 也 3m , 那是怎么做到的

2021-01-11 16:11:53 +08:00
 coolesting
补充: 我说少于 1m 的 app, 例如,某 X 浏览器
8463 次点击
所在节点    Android
18 条回复
manami
2021-01-11 16:14:37 +08:00
emm 套壳浏览器……
codehz
2021-01-11 16:17:11 +08:00
很简单,不要引用奇怪的库,包括 as 生成项目时自带的那些
en20
2021-01-11 16:27:19 +08:00
一个是因为本身没多少代码,还有 apk 可以直接打包对应平台 android-arm,android-arm64,android-x64,一个 fat apk 17.9MB,拆分后只有 6.4MB
howellz
2021-01-11 16:29:55 +08:00
@en20 hello world 有啥 native 的包和库?
divilkcvf
2021-01-11 16:43:05 +08:00
appcompat 这种乱七八糟的兼容库全都去掉
joyhub2140
2021-01-11 16:51:46 +08:00
生产环境包为了混淆代码会对代码压缩的,你应该打的是 debug 用途的包吧。

另外,正如楼上所说,去掉乱七八糟的库,只用最基本的 activity,layout 里只有一个 LinearLayout,肯定可以降到 1M 以下。

那个 x 浏览器,也就套个系统自带的 webview 而已,内核不是重新开发的。
nicocho
2021-01-11 16:53:12 +08:00
我看拼 DD 的 android 包只有 30 多 M,
应该不是网络 down 对应的 so 之类的,因为安装完就是上百 M 了。
压缩效率高?有空深入研究研究去。
jinhan13789991
2021-01-11 16:57:28 +08:00
去掉乱七八糟的库,只能运行的话,其实只要上百 KB 就够了。
很多 app 依赖内容都是第一次启动后下载加载的。这样安装包体积就能小很多了
Kamiyu0087
2021-01-11 18:46:41 +08:00
原生 Hello World 会引用 material 相关库吧,这就不小了已经
love
2021-01-11 19:14:21 +08:00
我给我的 WebApp 写了个最简单只有一个 webview 控件的 apk,没任何别的第三方组件,用官方工具套件编译出来也要 2.3M
android 开发我不熟,可能有办法去掉所有可选的东西?
winterbells
2021-01-11 19:28:36 +08:00
打 release 包
john6lq
2021-01-11 21:23:20 +08:00
@divilkcvf 先做再说。helloworld 现在 AndroidX 我最低也就只能优化到 700k 左右。
john6lq
2021-01-11 21:24:04 +08:00
谷歌瞎 jb 维护,flutter 一个包直接搞定。
maokabc
2021-01-11 23:13:26 +08:00
现在不清楚,以前试过,没兼容库,创建 apk 自己写 shell 命令,javac 编译成 class,dx 生成 classes.dex,aapt 处理资源,然后用 zip 打包再签名,app 写完也才 290 多 k 。
iriyave
2021-01-12 06:17:13 +08:00
因为华为手机的文件管理器没有 ftp 功能,前几天下了个 ftp 服务器的 app,能在电脑端操作文件,大小只有 0.4M 。
coolesting
2021-01-12 12:09:51 +08:00
@iriyave 有一个记事本的 App,安装完才 200 多 K 。。。。
HangoX
2021-01-12 12:33:14 +08:00
不用 support 兼容包,只要自己代码,混淆深一点,接入 andRes
Rekkles
2021-01-12 15:18:57 +08:00
十年前的 Symbian S40 可是连大于 1M 的软件都跑不起来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/743886

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX