前段时间发版时接到华为的提醒,请尽快提升 targetSdkVersion,所有进入商城的应用在明年 5 月 1 号之前必须将 targetSdkVersion 提升到 26+,也就是说必须适配动态权限和一系列后台管理机制,否则届时将被下架和拒绝更新。
去查了一下发现目前国内主要分发渠道均已签署《移动应用软件高 API 等级预置与分发自律公约》 http://www.taf.net.cn/News_detail.aspx?_NOTICE_ID=231
各大平台 9 月初均已下发通知
https://developer.huawei.com/consumer/cn/notice/20180831
https://open.oppomobile.com/service/message/detail?id=116121
https://developer.vivo.com.cn/doc/dynamic/dynamicDetail?dynamic.id=63
http://www.miui.com/thread-17897687-1-1.html
然而好像没啥波澜,广大国内 Android 用户并没多少人知道……
也就是说从 5 月 1 号开始,大家从国内主要渠道下载的 Android 应用都将会适配动态权限,后台限制,安装权限申请, 预估利用向下兼容拒不适配的国产应用在今年内将从国内主要渠道消失
我跟别人讨论这个发现很多人根本不理解这个限制的意义,总是讨论到“不给权限就强退”上面去…… 我随便举几个例子说下适配到 API26+ 意味这什么
运行时权限很重要,但是适配到 API26+所带来的限制远不止这些。而且这个通知的下发是一个大势的转变,表明国内主要渠道正在联合制定规则,现在可以要求不适配高版本的下架,以后也可以要求不给权限不能运行的下架,时间早晚的问题。
1
fanhaipeng0403 2019-01-03 11:12:16 +08:00 5
作死的头像
|
2
orangeade 2019-01-03 11:14:32 +08:00 via Android 4
这就是国内一大批安卓 app 开发的水平了,好好关注下 Google I/O 也不至于这样
|
3
redial39 2019-01-03 11:22:03 +08:00
是不是意味着锤子手机要吃瘪了?他从不更新 android 内核 = =
|
4
0x8192dd OP @orangeade
没适配过的不知道厉害,以为就适配个动态权限,前两天我申请时间适配到 Android P,第三方 SDK 一堆报错头都疼炸😂 |
5
longaiwp 2019-01-03 11:26:50 +08:00
问题是升级到 26 也不是 P 啊,不会限制你的私有 API 调用(灰黑名单),P 还限制你不能默认用 http 呢。target 到 26 问题一般都是很少的,主要是 O 的后台权限会比较蛋疼。
|
8
deepdark 2019-01-03 11:31:06 +08:00 via Android
头像是<我看今天谁敢念诗>.jpg
|
9
BOYPT 2019-01-03 11:43:05 +08:00
微信 7 在华为商家受阻难道也是这个原因?
|
10
0x8192dd OP @BOYPT 华为商城的政策很严格,他们的测试要通过,崩溃率、耗电、息屏后运行时间这些都有严格要求的,而且微信本身也是适配到 26+的,应该不是这个原因
|
11
learnshare 2019-01-03 11:50:55 +08:00
多少小厂跟不上 Android 版本更新的,要完蛋
|
14
notreami 2019-01-03 12:04:24 +08:00
2、3 线城市的 柜台华为机,还没销售完呢。华为这么着急想打造高端路线了?
|
17
eamo 2019-01-03 14:45:06 +08:00
华为 9.0 系统除了个 api 14 的系统应用 com . google . ondroid . gms . policy_sidecor_aps
|
18
mmdsun 2019-01-03 14:53:26 +08:00 via Android
我劝楼主赶快 江公补过。
|
19
dychenyi 2019-01-03 17:39:41 +08:00
所以安卓生态要变好了?
|
20
kljsandjb 2019-01-03 18:06:33 +08:00 via iPhone
思维不要江化😂
|
23
jim9606 2019-01-03 23:33:21 +08:00
提升 target 这种事对用户无感知,非 android 开发者不知道很正常。
如果 target 太低,许多新系统的安全策略就难以执行(要兼容) 相当长一段时间的手机 QQ 的 targetsdklevel 是 9(比 mininumsdklevel 还要低),原因很好猜 对于相对懂点行的用户,target>23 时拒绝权限时 APP 是可以知道的,意味着某些 APP 可以以不运行威胁用户授权,低 target 或者 6.0 以前版本的系统的权限管理是非官方标准,通常 OS 厂商是通过返回假数据的功能实现的。这是这部分用户不希望高 target 的原因,例如想在不授权 IMEI 的话微信就会不运行。 一般开发者的问题就是黑科技用得越多升 target 越困难,所以没有需要时少用黑科技,包括但不限于使用反射调用不公开 API |
24
HangoX 2019-01-08 09:40:12 +08:00
我之前真不知道为什么升不上去,但是直到我来到现在公司。那个代码非常烂,升级上去之后要忍受可能好几个模块都有可能不能用。很多安卓的开发人员其实并不是那么懂安卓开发,这个是现在安卓开发的现状
|
25
0x8192dd OP @HangoX 其实吧,主要是依赖的 SDK,自己公司的代码想怎么改都行,大不了花点时间呗,依赖的有些 SDK,提供商不维护你也没办法,有些又老又破的开源库更是恼火
|
26
bclerdx 2020-05-01 14:13:13 +08:00
我发现操作系统更新至 Oreo 或 Pie 后,如果应用的 targetSdkVersion 也就是目标 SDK 等于 26 的时候,运行第三方应用并最小化后,等待 1 分钟所有,不会受 Oreo 或 Pie 的对 APP 后台占用运存的管控,不会自动被系统干掉进程或服务,但 targetSdkVersion 等于 28 及以上的,则会受 Oreo 或 Pie 的对 APP 后台占用运存的管控,被系统主动干掉进程或服务。请问这是什么原因呢?
|