V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jim9606
V2EX  ›  Android

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

  •  
  •   jim9606 · 2021-03-21 21:06:36 +08:00 · 12743 次点击
    这是一个创建于 1341 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看了下 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 专享的技术,但感觉国内无论是手机厂商还是应用厂商都不怎么搭理这个技术,这是啥原因?

    20 条回复    2021-07-12 14:08:49 +08:00
    minami
        1
    minami  
       2021-03-21 21:24:19 +08:00
    t/620974
    minami
        2
    minami  
       2021-03-21 21:25:10 +08:00
    @minami #1 爱奇艺搞了个“山寨”版的,从宣传里可以看出,App Bundle 需要依托 GMS,所以国内肯定不搭理的
    janus77
        3
    janus77  
       2021-03-21 21:25:45 +08:00
    需要应用市场做适配,aab 其实是不能直接安装的,当你在应用市场点击下载的时候,是应用市场根据 aab 生成相应的 apk 再提供给设备安装的
    janus77
        4
    janus77  
       2021-03-21 21:26:41 +08:00
    huawei 应用市场好像是支持 aab,不过没看到实际例子
    systemcall
        5
    systemcall  
       2021-03-21 21:30:52 +08:00
    国内这几年都在弄应用内的增量更新和 App 热更之类的吧
    loginbygoogle
        6
    loginbygoogle  
       2021-03-21 21:35:53 +08:00
    格局不同
    FucUrFrd
        7
    FucUrFrd  
       2021-03-21 21:56:34 +08:00 via Android
    成龙说的,中国的 app 会爆炸
    yikuo
        8
    yikuo  
       2021-03-21 22:04:42 +08:00 via Android   ❤️ 1
    华为商店支持
    jim9606
        9
    jim9606  
    OP
       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
        10
    jim9606  
    OP
       2021-03-21 23:05:55 +08:00
    另外关于原生库还有一点我不满意的就是国产 app 普遍压缩原生库,安装的时候需要解压这些库占据额外的存储空间,例如微信就因为这点导致安装后体积膨胀了一半。而 App Bundle 拆分的原生库包是不压缩的,所以就不用占额外的空间。

    感觉那么多搞 APK 体积优化的压根就不关心安装后体积的问题。
    minami
        11
    minami  
       2021-03-21 23:17:39 +08:00
    @jim9606 #8 那就是说只要商店支持就可以了。我去 OVHM 四家的开放平台文档搜了下,只有菊厂的 AppGallery 提到了“App Bundle 应用上架操作指导”,其他的都没有相关文档
    hanqian
        12
    hanqian  
       2021-03-22 00:01:24 +08:00 via Android
    我就想吐槽国内这些 UI,OVM 三家都魔改了 package installer,不支持 split apks ( MIUI 要关闭 MIUI 优化),倒是 EMUI 没啥问题,真是吃饱了撑的
    1041412569
        13
    1041412569  
       2021-03-22 00:26:28 +08:00 via Android   ❤️ 1
    @bilibili_apk 这个 tg 频道有 arm64 版哔哩哔哩客户端分享。
    winterx
        14
    winterx  
       2021-03-22 08:40:28 +08:00
    楼主能说一下,play 上的国产 app 有 AAB 吗?这个好像感知不出来
    比如阿里系的支付宝跟淘宝
    mxalbert1996
        15
    mxalbert1996  
       2021-03-22 09:52:38 +08:00 via Android
    @winterx 淘宝是 AAB,支付宝不是。
    jim9606
        16
    jim9606  
    OP
       2021-03-22 10:17:35 +08:00
    @winterx 这个需要用软件查,例如 SAI 或者 Native Libs Monitor 。这功能不算什么用户感知明显的功能,主要是节省存储空间。
    我用到的使用 AAB 的国产 app 有淘宝和小米运动。
    jim9606
        17
    jim9606  
    OP
       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
        18
    allentong  
       2021-06-03 17:36:39 +08:00
    signkey 交给商店是你 dynamic apk 下载下来后是需要让商店帮你签名的,安装不了好像就是 5.0 后出了 Package installer,不知道国内为啥改了不能安装多 apk
    jim9606
        19
    jim9606  
    OP
       2021-06-04 22:25:01 +08:00
    @allentong AOSP 的 package installer 就不能直接装 aab 文件也不能逐个安装 slice apk 的,所以不算国内魔改的锅。
    但不能用 adb install-multiple 安装就肯定是魔改的问题了。
    vjnjc
        20
    vjnjc  
       2021-07-12 14:08:49 +08:00
    @jim9606 不好意思,最近在研究这个,挖个坟。
    aab 是发布格式,是 developer 发布给商店用的,商店下发给 end user 走的是 multiple/split apks 。
    所以 aab 不需要被 AOSP 支持,AOSP 只需要支持 split apks 即可。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1055 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:27 · PVG 03:27 · LAX 11:27 · JFK 14:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.