从 Android P(API 28)开始,Google 限制了开发者对非 SDK 的调用的限制,受影响的是一些利用反射和 JNI 调用实现的一些黑科技。
由于 Android 开源的属性,以及基于 Java 虚拟机设计的特性,导致 Android 开发者在开发的过程中,为了达到一些目的,可以通过反射或者 JNI 调用的方式,访问 Android SDK 中未公开的 API。这种办法,虽然短时间内解决了开发者的需求问题,但是从长久来看,不利于 Android 的良好发展。
在 Android P ,Google 分别设置了白名单(whitelist)、灰名单(greylist)、黑名单(blacklist)三个名单。
在 Android 10.0 之后,名单机制又进行了部分修改,
Google 提供了一个 veridex 工具包,通过这个工具,可以列出你的应用有多少地方调用了非 SDK API。
由于普通开发者一般是不会去做这些黑科技的事情的,所以大部分会出现在第三方库中,包括 Android Support 包也有可能,解决的办法就是升级、升级、升级。
阅读原文 : 适配Android P之非SDK接口限制的排查方法 https://www.jianshu.com/p/efe6690b36b6
- EOF -
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: 适配Android P之非SDK接口限制的排查方法
本文地址: https://binkery.com/archives/2019.08.23-适配AndroidP之非SDK接口限制的排查方法.html