解决针对非 SDK 接口的限制失效问题

从 Android 9(API 级别 28)开始,Android 平台对应用能使用的非 SDK 接口实施了限制。只要应用引用非 SDK
接口或尝试使用反射或 JNI
来获取其句柄,这些限制就适用。这些限制旨在帮助提升用户体验和开发者体验,为用户降低应用发生崩溃的风险,同时为开发者降低紧急发布的风险。如需详细了解有关此限制的决定,请参阅通过减少非 SDK 接口的使用来提高稳定性

而在某些时候,某些操作会使得这一限制失效,如 Fake Location 等使用特殊接口的 app,这可能会导致一些问题,最直接的可能莫过于在 momo 中看到一条“非 SDK 接口的限制失效”的提示消息

而解决这一问题的方法也非常简单,根据Android 官方文档的描述,如需将 API 强制执行策略重置为默认设置,仅需使用如下命令

Android10 及以上

adb shell settings delete global hidden_api_policy

Android9

adb shell settings delete global hidden_api_policy_pre_p_apps
adb shell settings delete global hidden_api_policy_p_apps

以上命令在去掉开头的adb shell后也可以在手机上以 adb(如通过 Shizuku)或 root 权限运行。

感谢看到这里噢~ 希望这能给你带来帮助,如果觉得在任何地方有疑问,欢迎联系MWX(如需转载,请注明文章出处噢)!
或者如果大人愿意也可以...
上一篇
下一篇