React-Native 关于oppo手机闪退的问题
刚刚学习React-Native,感谢前人挖井,今天有一点自己的收获,写下来回报社会;
1.oppo手机安装应用闪退,
异常日志:RuntimeException: Unable to instantiate application xxx.xxx.xxx.MainApplication: java.lang.ClassNotFoundException: Didn't find class "xxx.xxx.xxx.MainApplication" on path: DexPathList[[zip file "/data/app/com.yuanda.stock-jmjLVQsrUk6UqNH-lcohtg==/base.apk"],nativeLibraryDirectories=[/data/app/xxx.xxx.xxx-jmjLVQsrUk6UqNH-lcohtg==/lib/arm, /system/fake-libs, /data/app/xxx.xxx.xxx-jmjLVQsrUk6UqNH-lcohtg==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
此问题的解决方案:
2.oppo手机调用调试菜单闪退:
真机摇晃后调出的调试菜单如下(此截图为ios,android类似):
异常日志如下:
android.view.WindowManager$BadTokenException:
Unable to add window [email protected] -- permission denied for window type 2003
at android.view.ViewRootImpl.setView(ViewRootImpl.java:940)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:385)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
at android.app.Dialog.show(Dialog.java:388)
at com.facebook.react.devsupport.DevSupportManagerImpl.showDevOptionsDialog(DevSupportManagerImpl.java:477)
at com.facebook.react.devsupport.DevSupportManagerImpl$1.onShake(DevSupportManagerImpl.java:202)
at com.facebook.react.common.ShakeDetector.maybeDispatchShake(ShakeDetector.java:146)
at com.facebook.react.common.ShakeDetector.onSensorChanged(ShakeDetector.java:114)
解决方案:此问题为权限问题,因为8.0后权限api的变更导致,原来api则无效
方案1:
修改build.gradle中的 targetSdkVersion 23;
targetSdkVersion 23是一个神奇的版本,这个版本不需要动态申请权限
方案2:
借鉴"简书"javanHuang的<<Android8.0通知栏和悬浮窗新改动>>
https://www.jianshu.com/p/1649c2bd249c
最后祝大家工作顺利,生活愉快,第一次写博客,如有不对之处大家多多指正,共同进步;