私有 API 是指 Android 系统内部使用,并未提供公开接口的 API,开发者可能通过 Java 反射等技术来调用这些私有 API.但是,这么做是很危险的:私有 API 没有任何公开文档,必须查看源代码才能理解其行为逻辑.
私有 API 的接口信息,函数签名(包括参数列表和返回值),行为逻辑都有可能在下个 Android 版本中被大幅修改,甚至 API 本身也可能被删除.这会导致使用私有 API 的应用在新的 Android 版本中无法运行,或运行时产生不符合预期的行为,开发者必须投入相当的研发资源保持其在未来每个 Android 新版本中的适配.
直接使用底层的私有 API 有可能会绕过一些 Android 对用户的安全性和隐私性方面的保护,不但影响用户体验,妨害用户隐私,也很可能会被 Google Play Protect 判定为恶意软件而提示用户卸载应用.
所以,我们强烈建议开发者只使用 Android 公开的 API 进行应用开发.公开 API 有详细的技术文档和支持渠道,未来的 Android 新版本也会保证公开 API 的兼容性(即使有改动,也会在文档中详细阐明).
如果您有合理的理由,必须使用某个私有 API,请告诉我们!我们很乐意聆听和讨论,并会在充分评估必要性和可行性后,在 Android 系统或 Support Library 中提供方案来满足合理的功能需求.
来源: https://juejin.im/post/5a5c2c2e6fb9a01ca267775b