Android Q 带来哪些变化

Android 新版本Q已经发布,相关文档也已经更新到官方网站,这里对变更做一些总结,希望能帮助大家理解。

这次更新的思路,依然是用更严格的控制,提高稳定性,降低功耗等等

1. 适用于所有应用的变更

- 访问non-SDK接口的限制

从9.0开始,谷爷开始加强非sdk api的管理,逐步限制开发者访问未开放的api,Q版本会比9.0更加严格,什么是non-SDK Interface,大家可以简单理解,没有在sdk文档里面出现的接口,google给出的官方理由,help improve the user and developer experience and reduce the risks of crashes for users and emergency rollouts for developers;non-SDK interfaces are subject to change without notice,总而言之,照着sdk文档写就没问题了
这些api会有三个级别:

  • Blacklist
    严格限制访问的接口,app的target api不同,会有差异,如果访问这些API, 系统会跑出error
Means of access Result
Dalvik instruction referencing a field NoSuchFieldError thrown
Dalvik instruction referencing a method NoSuchMethodError thrown
Reflection via Class.getDeclaredField() or Class.getField() NoSuchFieldException thrown,Non-SDK members not in results
Reflection via Class.getDeclaredMethod(), Class.getMethod() NoSuchMethodException thrown,Non-SDK members not in results
JNI via env->GetFieldID() NULL returned, NoSuchFieldError thrown
JNI via env->GetMethodID() NULL returned, NoSuchMethodError thrown
  • Greylist
    这个是个相对概念,比如Android 9 (API level 28)上面限制使用的api,而你的target api是小于28的,这部分api就属于greylist,使用这些api,不会引起崩溃,在9.0手机上面运行,会打印如下的log:
Accessing hidden field Landroid/os/Message;->flags:I (light greylist, JNI)
  • Whitelist
    这些api可以放心使用

- Wi-Fi直连相关的广播不再发送

WIFI_P2P_STATE_CHANGED_ACTION
Indicates whether Wi-Fi P2P is enabled
WIFI_P2P_PEERS_CHANGED_ACTION
Indicates that the available peer list has changed.
WIFI_P2P_CONNECTION_CHANGED_ACTION
Indicates the state of Wi-Fi P2P connectivity has changed.
WIFI_P2P_THIS_DEVICE_CHANGED_ACTION
Indicates this device's configuration details have changed.

需要调用相应的get()方法获取状态

-权限警告

适配过6.0的同学,应该有

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值