如果应用程序使用了androidx.appcompat库中的非SDK接口,并且您在Android 9或更高版本上运行应用程序,则应用程序可能会出现问题。为了解决这个问题,您需要通过以下方式修改代码:
viewGroup.mChildren
那么您可以使用以下代码来替换它:
viewGroup.getChildren()
Field field = ViewGroup.class.getDeclaredField("mChildren");
field.setAccessible(true);
View[] children = (View[]) field.get(viewGroup);
请注意,使用反射调用可能会导致性能下降,并且在某些设备上可能不起作用。
此文件指示您的应用程序允许非SDK接口'androidx.appcompat.view.menu.ShowableListMenu”的使用。请注意,这仅适用于从Google Play Store下载的应用程序,而不适用于从第三方应用程序商店或侧载的应用程序。
通过使用这些解决方案之一,您的应用程序将不再受到androidx.appcompat库中非SDK接口的限制,并且可以在Android 9或更高版本上正常工作。
上一篇:androidx.appcompat.widget上的空引用
下一篇:androidx.browser是什么,如何解决报错Task:app:checkDebugAarMetadataFAILED?