解决在Android P上安装弹窗 (Detected problems with API compatibility(visit g.co/dev/appcompat for more info)

最近在使用android手机调试应用的时候发现使用小米9调试的时候,在安装打开应用的时候回弹框显示一串英文

内容如下

Detected problems with APlcompatibility(visit g co/dev/appcompat for more info)

顺便附上图

å¨è¿éæå¥å¾çæè¿°

在查询资料后得知,这是在Android P 之后才会出现的,具体原因就先不解释,先上解决的方法

在应用初始化之前调用一下一下方法

private void closeAndroidPDialog(){
        try {
            Class aClass = Class.forName("android.content.pm.PackageParser$Package");
            java.lang.reflect.Constructor declaredConstructor = aClass.getDeclaredConstructor(String.class);
            declaredConstructor.setAccessible(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            Class cls = Class.forName("android.app.ActivityThread");
            java.lang.reflect.Method declaredMethod = cls.getDeclaredMethod("currentActivityThread");
            declaredMethod.setAccessible(true);
            Object activityThread = declaredMethod.invoke(null);
            java.lang.reflect.Field mHiddenApiWarningShown = cls.getDeclaredField("mHiddenApiWarningShown");
            mHiddenApiWarningShown.setAccessible(true);
            mHiddenApiWarningShown.setBoolean(activityThread, true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

即可让APP安装的时候不再弹出提示框,具体问题希望大家能自行查看官方文档和源码,学习中进步

你可能感兴趣的:(异常处理)