国内哪家的 UI 和应用商店能完美支持 Android App Bundle 的

2021-03-21 21:06:36 +08:00
 jim9606

看了下 Google Play 要求 2021.8 后的新 APP 必须使用 App Bundle 分发。然后查了下我手头的小米 9 ( MIUI12.5 开发版),基本上大部分 Play 下载的应用都是用 bundle 的。不过小米应用商店下载的还是传统的多 abi 多 dpi 的 apk 。虽然用 play 安装的支持没有问题,但自带的系统备份却只支持备份 base apk,导致用 bundle 的 app 在还原后直接打不开,得卸载重装。

像 B 站客户端就离谱,play 上的国际版有纯 arm64 版,国内版不管在商店下还是官网下,都是 armv7+x86 版,没有 arm64 版。

按理说这技术能省不少空间的,也方便差分更新,也不是 GMS 专享的技术,但感觉国内无论是手机厂商还是应用厂商都不怎么搭理这个技术,这是啥原因?

13451 次点击
所在节点    Android
20 条回复
minami
2021-03-21 21:24:19 +08:00
t/620974
minami
2021-03-21 21:25:10 +08:00
@minami #1 爱奇艺搞了个“山寨”版的,从宣传里可以看出,App Bundle 需要依托 GMS,所以国内肯定不搭理的
janus77
2021-03-21 21:25:45 +08:00
需要应用市场做适配,aab 其实是不能直接安装的,当你在应用市场点击下载的时候,是应用市场根据 aab 生成相应的 apk 再提供给设备安装的
janus77
2021-03-21 21:26:41 +08:00
huawei 应用市场好像是支持 aab,不过没看到实际例子
systemcall
2021-03-21 21:30:52 +08:00
国内这几年都在弄应用内的增量更新和 App 热更之类的吧
loginbygoogle
2021-03-21 21:35:53 +08:00
格局不同
FucUrFrd
2021-03-21 21:56:34 +08:00
成龙说的,中国的 app 会爆炸
yikuo
2021-03-21 22:04:42 +08:00
华为商店支持
jim9606
2021-03-21 22:56:28 +08:00
@minami
Qjigsaw 算是给开发者提供的解决方案。而且看 Google 的介绍 App Bundle 并不是只能由 GMS 支持,Split apks 是 Android framework 就有的功能,也就是说手机内置商店要实现这个功能并不需要依赖 GMS,像 Apkpure 和 SAI 都能在国产 UI 上支持这种安装。

作为证据,我用的 MIUI 安装 Split apk 虽然比较麻烦,需要关掉 MIUI 优化或者用 Shizuku,但还是能装上的。虽然我希望 AOSP 可以直接支持 App Bundle,但以 google 的态度看是没戏了。

@systemcall @janus77
我并不是说国内厂商完全不 care 模块化这事,只是国内我能搞到的 apk 模块化顶多是区分 abi 的 multiapk,而 app bundle 是可以做到区分 abi 、语言、dpi 、feature 的,例如我的小米 9 常见组合是 base+zh+arm64_v8a+xxhdpi 。

具体到我下的 b 站客户端,armv7+x86 这种肯定不是 aab 生成出来的,所以我认为小米商店是完全没支持这个的。
jim9606
2021-03-21 23:05:55 +08:00
另外关于原生库还有一点我不满意的就是国产 app 普遍压缩原生库,安装的时候需要解压这些库占据额外的存储空间,例如微信就因为这点导致安装后体积膨胀了一半。而 App Bundle 拆分的原生库包是不压缩的,所以就不用占额外的空间。

感觉那么多搞 APK 体积优化的压根就不关心安装后体积的问题。
minami
2021-03-21 23:17:39 +08:00
@jim9606 #8 那就是说只要商店支持就可以了。我去 OVHM 四家的开放平台文档搜了下,只有菊厂的 AppGallery 提到了“App Bundle 应用上架操作指导”,其他的都没有相关文档
hanqian
2021-03-22 00:01:24 +08:00
我就想吐槽国内这些 UI,OVM 三家都魔改了 package installer,不支持 split apks ( MIUI 要关闭 MIUI 优化),倒是 EMUI 没啥问题,真是吃饱了撑的
1041412569
2021-03-22 00:26:28 +08:00
@bilibili_apk 这个 tg 频道有 arm64 版哔哩哔哩客户端分享。
winterx
2021-03-22 08:40:28 +08:00
楼主能说一下,play 上的国产 app 有 AAB 吗?这个好像感知不出来
比如阿里系的支付宝跟淘宝
mxalbert1996
2021-03-22 09:52:38 +08:00
@winterx 淘宝是 AAB,支付宝不是。
jim9606
2021-03-22 10:17:35 +08:00
@winterx 这个需要用软件查,例如 SAI 或者 Native Libs Monitor 。这功能不算什么用户感知明显的功能,主要是节省存储空间。
我用到的使用 AAB 的国产 app 有淘宝和小米运动。
jim9606
2021-03-23 22:49:08 +08:00
@minami @yikuo
目前看 App Bundle 的坑是必须要将 apk signkey 交给商店,Google Play 和华为 AppGallery 都要这样,估计是为了自动生成 multiapk 供低于 Android5.0 的设备用。也就是说商店有可能恶意冒充你签名发布新版包。

@hanqian AOSP 的 Package Installer 本身就不支持 split apks,魔改的是别的东西。
allentong
2021-06-03 17:36:39 +08:00
signkey 交给商店是你 dynamic apk 下载下来后是需要让商店帮你签名的,安装不了好像就是 5.0 后出了 Package installer,不知道国内为啥改了不能安装多 apk
jim9606
2021-06-04 22:25:01 +08:00
@allentong AOSP 的 package installer 就不能直接装 aab 文件也不能逐个安装 slice apk 的,所以不算国内魔改的锅。
但不能用 adb install-multiple 安装就肯定是魔改的问题了。
vjnjc
2021-07-12 14:08:49 +08:00
@jim9606 不好意思,最近在研究这个,挖个坟。
aab 是发布格式,是 developer 发布给商店用的,商店下发给 end user 走的是 multiple/split apks 。
所以 aab 不需要被 AOSP 支持,AOSP 只需要支持 split apks 即可。

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

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

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

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

© 2021 V2EX