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

国内安卓 APP 怎么都不喜欢升级 API 等级?

  •  
  •   juejinloop · 2023-10-07 19:53:02 +08:00 · 11953 次点击
    这是一个创建于 416 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一堆国产应用的 SDK 等级还停留在 28 甚至以下的,导致用户都无法单独给媒体文件权限,必须整个外部储存全部给他读。

    特别点名腾讯 QQ ,还在停留在 API 26/安卓 8 ,微信都升到 31 了。

    作为对比,手机上几乎所有非国产应用全都升级到了 API 33 / 安卓 13 版本了。

    之前有报道说国内的应用商店会在年底前要求 API 等级 >= 30 ,不知道这些应用会不会遵守。

    https://www.ithome.com/0/714/306.htm

    49 条回复    2023-10-13 17:12:10 +08:00
    DIMOJANG
        1
    DIMOJANG  
       2023-10-07 21:07:12 +08:00
    这些国民级软件可能都有后台收集所有用户的 API 等级,只要还有比较多一批人还在用低版本,估计就不会考虑升级?

    还有一个就是,即使升级了 API 等级,也不一定会给用户开放新的功能吧
    Inzufu
        2
    Inzufu  
       2023-10-07 21:08:23 +08:00 via Android   ❤️ 1
    我感觉一个是国内用户都习惯了,安卓的新功能到了各家手机厂那里都阉割的差不多了,用户感觉不出什么区别。
    还有就是现在的软件几乎就那么几款,一堆人骂微信这那的,最后前脚骂完了后脚还得用微信,因为没有相应的竞品,既然用户都这么稳定了,也没有什么升级的动力,微信和 QQ 现在就是比烂。
    最后估计还是国内用旧版本安卓的人比较多。
    ETiV
        3
    ETiV  
       2023-10-07 21:11:50 +08:00 via iPhone
    应该是旧的手机淘汰率不高,且厂商也不给升级系统吧

    类比的话,大概就是 WinXP 、Win7 那种,一个系统用十几二十年…
    jiagm
        4
    jiagm  
       2023-10-07 21:12:34 +08:00 via Android   ❤️ 1
    因为 Google Play Store 有硬性规定在 xx 时间之前必须把 targetAPI 设置为 yy 以上,而国内的应用商店没有这个规定。
    yyzh
        5
    yyzh  
       2023-10-07 21:20:44 +08:00 via Android
    qq 和 wx 一样啊,你是不是没更新软件?

    bin456789
        6
    bin456789  
       2023-10-07 21:40:03 +08:00   ❤️ 1
    有的 app 还养着两个版本,一个专供国外,一个专供国内

    例如支付宝
    10.5.26.8700(884) API 31 Play 商店
    10.5.28.8100(891) API 29 国内商店

    不知道有什么不可告人的秘密
    JiuW
        7
    JiuW  
       2023-10-07 22:05:50 +08:00 via Android
    QQ 比微信强多了,起码接入了各家的推送通道不用长期挂后台了
    kkk9
        8
    kkk9  
       2023-10-07 22:14:31 +08:00
    @bin456789 #6 国内改成 API31 直接就是热搜第一

    #zhi 付宝崩溃啦
    #安卓手机无法使用 zhi 付宝
    #zhi 付宝无法安装
    #zhi 付宝不被系统支持
    bclerdx
        9
    bclerdx  
       2023-10-07 22:14:39 +08:00
    @bin456789 确实如此。也不知道为何不统一!!!
    bclerdx
        10
    bclerdx  
       2023-10-07 22:17:55 +08:00
    OP 啊,你可参考此贴:/t/938662
    Cheons
        11
    Cheons  
       2023-10-07 22:19:21 +08:00 via Android
    1 真的是为了兼容
    2 存储权限是为了不同 app 间交换数据,类似网页 cookie ?
    Venjer
        12
    Venjer  
       2023-10-07 22:20:08 +08:00
    有些是因为代码太老升不动,qq 淘宝 这些。
    一些新 app 还是紧跟版本的
    jim9606
        13
    jim9606  
       2023-10-07 22:38:03 +08:00
    如果是同一个 app 内外 target 不一样,那有一种可能,就是国内商店渠道自己的 sdk 还没适配新 target 。

    我目前被这个 target 气死的只有宇宙行手机网银,因为 android10 把 imei 一刀切 ban 了,每次打开 app 都是新设备登录要短信+人脸。

    事实上 AOSP 版本更新值得关注的都是针对开发者的行为变更,这会悄无声息地影响包括国内的 android 生态,但我是没见哪个自媒体能看懂这点的,就只会评 UI 和 GMS 集成。
    zhhmax
        14
    zhhmax  
       2023-10-07 22:44:23 +08:00   ❤️ 3
    @kkk9 支的拼音让这个回复又到了一个新的高度。
    juejinloop
        15
    juejinloop  
    OP
       2023-10-07 22:47:24 +08:00
    @yyzh 我的 QQ 是官网下载安装的应用内更新到最新版本是 8.9.76 ,Target SDK 显示是 26 。 微信是 Google playstore 下载的 Target SDK 显示是 31
    noahhhh
        16
    noahhhh  
       2023-10-07 22:57:00 +08:00
    Android 现在每个大版本都在缩紧权限,不升级 SDK 可以获取更多权限
    yyzh
        17
    yyzh  
       2023-10-07 23:03:15 +08:00 via Android
    @juejinloop 那可能企鹅有搞只给自家应用宝独享的新版本
    kingfalse
        18
    kingfalse  
       2023-10-07 23:09:22 +08:00 via Android
    是的,没错,它就是想要你全部文件权限。不然他们怎么去乱拉屎
    jim9606
        19
    jim9606  
       2023-10-07 23:11:21 +08:00
    举些我认为新 target 比较重要的影响:
    9:异形屏 API ,HEIF ,限制后台访问传感器
    10:TLS1.3 ,模糊定位,分区存储,封杀不可重置硬件标识符,剪贴板访问限制,可折叠设备 API ,深色系统主题,AV1 ,Vulkan1.1 ,音频内录
    11:强制分区存储,v3 签名密钥轮替,软件包可见性,自动重置权限
    12:通知栏隐私指示器,兼容的媒体转码,AVIF
    13:照片选择器,附近设备权限,BLE 音频,各应用语言偏好
    14:限制 6.0 以下旧应用安装

    其实 google 最近有点挤牙膏,重要的都在 10
    laoshiqi86
        20
    laoshiqi86  
       2023-10-07 23:16:56 +08:00 via Android   ❤️ 1
    正常,我大清自有国情在
    bclerdx
        21
    bclerdx  
       2023-10-07 23:32:37 +08:00
    @laoshiqi86 咱大清的国庆,不符合世界主流,世界主流都是一样的操作,奈何大清与他们唱反调。大清以自我为中心,窃以为中原还在世界的中间呢。
    hamsterbase
        22
    hamsterbase  
       2023-10-08 00:05:27 +08:00   ❤️ 1
    对于国民级 app , 即使影响到万分之一用户,也是好几万人。
    damnthatsfunny
        23
    damnthatsfunny  
       2023-10-08 00:13:07 +08:00 via Android
    @JiuW 这类 app 在手机厂商内部有白名单机制,可以长期逗留后台不会被杀进程,甚至前台进程杀死了,后台的服务进程还在
    kkk9
        24
    kkk9  
       2023-10-08 03:24:00 +08:00
    @zhhmax #14 😶我没有!不可能!🙇🙇读书人的事情怎么怎么能说,明明就是遥遥领先!🙇🙇
    ysc3839
        25
    ysc3839  
       2023-10-08 05:28:02 +08:00 via Android
    说个题外话,没记错的话,target api 小于 Android 11 的应用,即使用一些国产系统,禁止读取应用列表,还是有办法探测某个 app 是否安装的,方法非常简单,直接读取 /data/data/<包名> ,如果安装了,会返回 Permission denied ,没安装则返回 No such file or directory 。
    这个问题在新版本 Android 上已经修复了,但是仅针对 target api 大于等于 Android 11 的应用启用,不知道谷歌为什么这么做。
    ipcjs
        26
    ipcjs  
       2023-10-08 05:43:33 +08:00
    @kkk9 先搞清楚 target 和 min 的区别,再来编段子🙃️
    Muniesa
        27
    Muniesa  
       2023-10-08 07:38:56 +08:00 via Android
    target 越高限制越多,代码还要修改,不是强制的话他们哪里有动力升级
    zhangjiafan
        28
    zhangjiafan  
       2023-10-08 09:37:27 +08:00
    我维护 30 个 app ,都是老旧代码,能稳定跑就跑,升级有什么后果,举个例子。最新的 33 ,用老的 intent 会崩溃。我需要把 30 个 app 中使用到这段代码的部分进行修改,这工作量,足以够我看完一部电视剧的
    unco020511
        29
    unco020511  
       2023-10-08 10:00:02 +08:00
    第一个是 google play store 要求确实比较严格,然后国内应用商店也会要求 target 但没那么激进.第二个是升级 target 一般来说改动还蛮大的,这种超级 app 不是你说想升就升的,总得有个自下而上再自上而下的过程
    yiranshaxiao
        30
    yiranshaxiao  
       2023-10-08 10:07:03 +08:00   ❤️ 1
    1. 付出与收益不符。收益在用户端,更保护隐私、更省电之类的。
    2. 不少大厂用各种黑科技,有版本限制的,升级 target api ,就无效了。(用来提升体验,还是拿数据,就不好说了)
    3. 不少大厂开源的 sdk ,已经没人维护,但是又用到了。要接入方自行兼容升级。
    root71370
        31
    root71370  
       2023-10-08 11:38:16 +08:00
    @zhangjiafan 所以上班可以看电视剧吗🤣
    Zien
        32
    Zien  
       2023-10-08 11:47:42 +08:00 via iPhone   ❤️ 1
    没什么好奇怪的,本来想吐槽,打了几个字想了想还是算了,这些离谱现象的背后根本不是什么 API 之类的问题… 像权限滥用、截图监测、自建 push 、阉割框架、Callkit 、云上贵州、所以的.cn 而非/cn 、flash 、http….
    感觉一切都会异化
    nnegier
        33
    nnegier  
       2023-10-08 12:39:00 +08:00 via Android
    那还得怪谷歌,我的也都还在 29 ,原因都是谷歌在权限上搞幺蛾子,比如文件权限,还有包查看权限,这两个简直要了很多人的命,好像后面的 api 等级又给送回来了,但有真空不知道怎么填补
    LavaC
        34
    LavaC  
       2023-10-08 12:41:36 +08:00
    安卓 API 我可能不会升级,但我小程序的 API 你开发者三个月内必须给我跟进
    Yzh361
        35
    Yzh361  
       2023-10-08 12:45:08 +08:00
    别升 api 。我那用了十年的安卓 4.4HTC 还很好用呢
    kkk9
        36
    kkk9  
       2023-10-08 14:11:59 +08:00
    @ipcjs #26 😅我相信您很清楚 target 和 min 的区别,我知道您很急,但是您别急啊。

    升 target 涉及到很多东西,并不是您觉得设置一个 min 就可以保证兼容的,我自认我编的段子已经非常保守了。

    ----
    《 Android Target 31 升级全攻略 —— 记阿里首个超级 App 的坎坷升级之路》
    作者:阿里巴巴终端技术
    https://juejin.cn/post/7114225231845457956

    [摘抄]

    从技术看问题:

    变化频繁:以 Android 12 为例,Release 发布后至少有 5 次文档变动(包括启动图、模糊定位、文件存储等),并下发过 Release Patch 至厂商,厂商再根据自己的需求、节奏来看是否“实施”Patch ,导致适配成本成倍增加;加之各 ROM 的碎片化,过程中需要持续调整对焦

    材料不全:当时业内无较好的分析文档,主流 App 也未适配到 31 ,很多需要自己探索,如新增权限判断、外置存储使用、启动图等,官方要么未提及,要么只说大概,需要自己分析源码 + 不断的实践才能明确。

    适配困难:每一个权限调整,其涉及 API 众多、用户影响高,且适配量很大,以我们为例,相比过去 Target 21 → 26 的 20+ 系统 API ,本次涉及 300+ 系统 API ,上千处调用,涵盖多个技术栈,改造成本高、影响范围广,为我们的适配带来了不小挑战

    作为高速发展的超级 App ,高德需要做到既保持内部“持续的业务增长”,又能消化外部“要求高、变化快、难度大”。经过大家的不懈努力,最终圆满完成了 Target 28 → 31 的升级。
    kerb15
        37
    kerb15  
       2023-10-08 15:57:05 +08:00
    从开发者的角度,经常适配确实很烦
    lincanbin
        38
    lincanbin  
       2023-10-08 16:05:36 +08:00
    很多程序员都生活在一线城市,手机两年一换,有点陷入信息茧房了。
    实际上看回收上来的数据,很多农村地区还在用六七年前的老人机。

    一些部门适配的最低配机型,是 2016 年的 OPPO A57 。
    abelmakihara
        39
    abelmakihara  
       2023-10-08 17:10:56 +08:00
    @LavaC 这也太扎心了
    TArysiyehua
        40
    TArysiyehua  
       2023-10-08 17:15:30 +08:00
    升级超级麻烦的,而且领导基本不会不会给你时间让你升级,最多就几天。但是升级不仅需要技术,还需要产品评估,设计一些交互,一些产品逻辑。
    说白了就是,升级的成本很高很高,但是但是,升级的收益可以说为 0 ,就是会在 v2 里收到个好评,这种情况下,是个正常的公司都选择不升级
    libook
        41
    libook  
       2023-10-08 17:28:37 +08:00
    我们公司要决定升级 API 等级之前,都要先看一下用户设备统计数据,看要放弃的用户规模有多大,大于 2%可能产品经理就不同意升级了。

    实际上对产品经理和开发人员来说,没有强需求,升它干嘛。
    嗯,测试也附议。
    psklf
        42
    psklf  
       2023-10-09 14:46:19 +08:00
    @yyzh #5 QQ 挺垃圾的,Play 市场的版本两年没更新了
    psklf
        43
    psklf  
       2023-10-09 14:46:52 +08:00
    @JiuW #7 QQ 一点也不强,QQ 不在 Play 更新了。
    psklf
        44
    psklf  
       2023-10-09 15:09:41 +08:00
    @TArysiyehua #40 所以现在由应用市场来强制推进这个事情。为用户谋福利。
    psklf
        45
    psklf  
       2023-10-09 15:10:29 +08:00
    @libook #41 升 target minimum 可以不变
    seraph758
        46
    seraph758  
       2023-10-10 15:18:47 +08:00
    国内很多老年机还是很老的系统,升级了容易让那些人用不了
    hellomynameis
        47
    hellomynameis  
       2023-10-10 16:28:38 +08:00
    这个贴怎么还有这么多若智连目标 API 和最低 API 都分不清楚,就似很多人评价巴以冲突结果巴勒斯坦跟巴基斯坦都分不清

    最低 API 即使是安卓 5 ( 21 ),甚至更低,目标 API 也可以升到更高安卓 14 ( 34 ),目标 API 完全对更低的系统没有影响,并且会让 app 在新版的系统上遵守新系统的一些更优的调控标准

    某厂商就是希望自己的 app 不用遵守这些调控标准,所以一直钉在一个老目标 API 。还是缺一个谷歌这种铁拳出手,逼他们在每年的 deadline 前升级目标 API 不然就从应用商店搜索结果隐藏了。
    felixlong
        48
    felixlong  
       2023-10-13 11:07:55 +08:00
    因为升 Target API 只会给开发者更多的限制。而没有任何一丁点好处。作为开发者,我也总是拖到最后才升 Target API.
    wuyswu
        49
    wuyswu  
       2023-10-13 17:12:10 +08:00
    google play 最新已经要求升级到 33, 不更新不让更新
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5457 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:53 · PVG 16:53 · LAX 00:53 · JFK 03:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.