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

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

  •  
  •   juejinloop · 203 天前 · 7478 次点击
    这是一个创建于 203 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一堆国产应用的 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  
       203 天前
    这些国民级软件可能都有后台收集所有用户的 API 等级,只要还有比较多一批人还在用低版本,估计就不会考虑升级?

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

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

    bin456789
        6
    bin456789  
       203 天前   ❤️ 1
    有的 app 还养着两个版本,一个专供国外,一个专供国内

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

    不知道有什么不可告人的秘密
    JiuW
        7
    JiuW  
       203 天前 via Android
    QQ 比微信强多了,起码接入了各家的推送通道不用长期挂后台了
    kkk9
        8
    kkk9  
       203 天前
    @bin456789 #6 国内改成 API31 直接就是热搜第一

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

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

    事实上 AOSP 版本更新值得关注的都是针对开发者的行为变更,这会悄无声息地影响包括国内的 android 生态,但我是没见哪个自媒体能看懂这点的,就只会评 UI 和 GMS 集成。
    zhhmax
        14
    zhhmax  
       202 天前   ❤️ 3
    @kkk9 支的拼音让这个回复又到了一个新的高度。
    juejinloop
        15
    juejinloop  
    OP
       202 天前
    @yyzh 我的 QQ 是官网下载安装的应用内更新到最新版本是 8.9.76 ,Target SDK 显示是 26 。 微信是 Google playstore 下载的 Target SDK 显示是 31
    noahhhh
        16
    noahhhh  
       202 天前
    Android 现在每个大版本都在缩紧权限,不升级 SDK 可以获取更多权限
    yyzh
        17
    yyzh  
       202 天前 via Android
    @juejinloop 那可能企鹅有搞只给自家应用宝独享的新版本
    kingfalse
        18
    kingfalse  
       202 天前 via Android
    是的,没错,它就是想要你全部文件权限。不然他们怎么去乱拉屎
    jim9606
        19
    jim9606  
       202 天前
    举些我认为新 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  
       202 天前 via Android   ❤️ 1
    正常,我大清自有国情在
    bclerdx
        21
    bclerdx  
       202 天前
    @laoshiqi86 咱大清的国庆,不符合世界主流,世界主流都是一样的操作,奈何大清与他们唱反调。大清以自我为中心,窃以为中原还在世界的中间呢。
    hamsterbase
        22
    hamsterbase  
       202 天前   ❤️ 1
    对于国民级 app , 即使影响到万分之一用户,也是好几万人。
    damnthatsfunny
        23
    damnthatsfunny  
       202 天前 via Android
    @JiuW 这类 app 在手机厂商内部有白名单机制,可以长期逗留后台不会被杀进程,甚至前台进程杀死了,后台的服务进程还在
    kkk9
        24
    kkk9  
       202 天前
    @zhhmax #14 😶我没有!不可能!🙇🙇读书人的事情怎么怎么能说,明明就是遥遥领先!🙇🙇
    ysc3839
        25
    ysc3839  
       202 天前 via Android
    说个题外话,没记错的话,target api 小于 Android 11 的应用,即使用一些国产系统,禁止读取应用列表,还是有办法探测某个 app 是否安装的,方法非常简单,直接读取 /data/data/<包名> ,如果安装了,会返回 Permission denied ,没安装则返回 No such file or directory 。
    这个问题在新版本 Android 上已经修复了,但是仅针对 target api 大于等于 Android 11 的应用启用,不知道谷歌为什么这么做。
    ipcjs
        26
    ipcjs  
       202 天前
    @kkk9 先搞清楚 target 和 min 的区别,再来编段子🙃️
    Muniesa
        27
    Muniesa  
       202 天前 via Android
    target 越高限制越多,代码还要修改,不是强制的话他们哪里有动力升级
    zhangjiafan
        28
    zhangjiafan  
       202 天前
    我维护 30 个 app ,都是老旧代码,能稳定跑就跑,升级有什么后果,举个例子。最新的 33 ,用老的 intent 会崩溃。我需要把 30 个 app 中使用到这段代码的部分进行修改,这工作量,足以够我看完一部电视剧的
    unco020511
        29
    unco020511  
       202 天前
    第一个是 google play store 要求确实比较严格,然后国内应用商店也会要求 target 但没那么激进.第二个是升级 target 一般来说改动还蛮大的,这种超级 app 不是你说想升就升的,总得有个自下而上再自上而下的过程
    yiranshaxiao
        30
    yiranshaxiao  
       202 天前   ❤️ 1
    1. 付出与收益不符。收益在用户端,更保护隐私、更省电之类的。
    2. 不少大厂用各种黑科技,有版本限制的,升级 target api ,就无效了。(用来提升体验,还是拿数据,就不好说了)
    3. 不少大厂开源的 sdk ,已经没人维护,但是又用到了。要接入方自行兼容升级。
    root71370
        31
    root71370  
       202 天前
    @zhangjiafan 所以上班可以看电视剧吗🤣
    Zien
        32
    Zien  
       202 天前 via iPhone   ❤️ 1
    没什么好奇怪的,本来想吐槽,打了几个字想了想还是算了,这些离谱现象的背后根本不是什么 API 之类的问题… 像权限滥用、截图监测、自建 push 、阉割框架、Callkit 、云上贵州、所以的.cn 而非/cn 、flash 、http….
    感觉一切都会异化
    nnegier
        33
    nnegier  
       202 天前 via Android
    那还得怪谷歌,我的也都还在 29 ,原因都是谷歌在权限上搞幺蛾子,比如文件权限,还有包查看权限,这两个简直要了很多人的命,好像后面的 api 等级又给送回来了,但有真空不知道怎么填补
    LavaC
        34
    LavaC  
       202 天前
    安卓 API 我可能不会升级,但我小程序的 API 你开发者三个月内必须给我跟进
    Yzh361
        35
    Yzh361  
       202 天前
    别升 api 。我那用了十年的安卓 4.4HTC 还很好用呢
    kkk9
        36
    kkk9  
       202 天前
    @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  
       202 天前
    从开发者的角度,经常适配确实很烦
    lincanbin
        38
    lincanbin  
       202 天前
    很多程序员都生活在一线城市,手机两年一换,有点陷入信息茧房了。
    实际上看回收上来的数据,很多农村地区还在用六七年前的老人机。

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

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

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

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