减少使用非 SDK 接口,提升系统稳定性

我们一直寻求改善 Android 用户以及开发者体验的方法,尽力提供稳定的体验。秉持这种精神,我们限制了 app 使用非 SDK 接口,因为此类作法往往存在用户遇上系统崩溃以及开发者需要紧急发布修复的风险。在 Android N 当中,我们限制了 C/C++ 代码所能使用的符号,从而确保使用 C++ 代码的 app 能够始终对接稳定的 NDK 接口,而不会因使用不稳定的非 NDK 接口而频频奔溃。自 Android P 起,我们将进一步提升系统稳定性,扩展此类限制至 Java 语言 SDK 接口。

将会有哪些行为?

从 Android P 版本开始,我们会限制使用非 SDK 方法与字段:您将无法对其进行访问 —— 无论通过直接调用、反射还是 JNI 等方式。如果加以尝试,您会收到 NoSuchFieldException 或者 NoSuchMethodException 等错误提示。

最初,此项限制主要针对使用频次较低或未使用的接口。在计划与设计工作当中,我们在解决用户及设备制造商反馈的 app 稳定性问题方面,会尊重广大开发者群体意见,同时尽可能降低变更幅度。如果您在迁移至 SDK 方法过程中,遇到技术方面的挑战,我们容许您在 app 更新至最新 API 之前继续使用原有方法。我们计划在今后的 Android 版本中进一步落实这些限制,同时提前通知各位开发人员,确保给予各位充分的时间迁移,并在此期间收集与所需 SDK 接口相关的反馈意见。我们一直强调使用非 SDK 接口带来的风险 —— 在任何版本的 Android 中重构代码以添加功能或修复 bug 时,非 SDK 接口都可能发生变化。因此,如果您的应用程序目前仍依赖于非 SDK 接口,则应尽快开始向 SDK 接口进行迁移。

由于 Java 语言与 C++ 的特性差异,因此该限制将与之前的符号限制略有区别。您不可访问不属于公开 SDK 的类别,同时请确保只使用各个类中被归入官方文档的部分。尤其需要注意的是,当您通过反射等语义与某个类进行交互时,不可访问未在 SDK 中明确列出的方法或字段。

如果缺少 SDK 接口,该如何应对?

我们了解到并不是所有 app 使用的非 SDK 接口都有可替代的 SDK 接口。我们重视您就公共 API 扩展及改进问题提出的反馈意见。如果您觉得在 SDK API 得到对应扩展之前无法停止使用非 SDK 接口,请尽快通过错误追踪器 (bug tracker) 向我们反馈。及时获取这些反馈意见对我们来说非常重要,我们需要利用这些信息调整限制黑名单,从而最大程度减少对开发人员产生的影响,同时着手为今后推出的 Android 平台开发必要的 SDK 接口。

下一步是什么?

在 Android P 开发者预览版当中,您将能够运行现有 app,并在使用非 SDK 接口时收到警告提示 —— 该接口会被列入最终版本的黑名单或灰名单。最好确保您的 app 在开发者预览版中能流畅运行;如果您担心自己的 app 可能受到影响,请特别留意接口兼容性警告信息。

在新开发者预览版发布以及错误追踪器分类条目更新之际,我们会继续监控非 SDK 接口的使用情况。如果官方 SDK 接口已经存在,我们将发布官方指南文档帮助您从常用的非 SDK 接口迁移至 SDK 接口。

相关内容延展请发送对应口令即可获得:

> API 程序包:API

>Android Developers 官方文档:官方文档

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,189评论 25 707
  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,621评论 1 180
  • 一个人在赶夜路 步履匆匆 一个 两个 垃圾桶 手臂连同整个肩膀 伸进去 深深地摸索着—— 捡出有用的 ! ——加减...
    汪浩阅读 220评论 0 3
  • 人生最好的时光就是当你认清,你所有的问题都是由你而生,意识到,只有你才是自己命运的主人。 一、有话讲出来 ...
    小穆读书阅读 168评论 0 1
  • 匆忙的总是时光,温美的记忆总在岁月里浮涨,一边行走一边收获春光,一边前行一边学会遗忘。转身,世间又因季节而变样。回...
    我的小美美阅读 210评论 0 0