Android10运行崩溃
场景
在运行新项目的时候,使用AndroidQ 设备总会意外闪退;
分析
查看报错信息
android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Linux.open(Native Method)
java.io.FileNotFoundException: /system/build.prop: open failed: EACCES (Permission denied) at libcore.io.IoBridge.open(IoBridge.java:496)
可以看到文件权限的问题;
two years ·······
其他项目没有这个问题,看看build.gradle 版本;也没问题
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.content.res.StringBlock.close()' on a null object reference
at android.content.res.ApkAssets.close(ApkAssets.java:201)
at android.content.res.ApkAssets.finalize(ApkAssets.java:191)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:289)
at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:276)
at java.lang.Daemons$Daemon.run(Daemons.java:137)
at java.lang.Thread.run(Thread.java:929)
解决方案
1.build.gradle -> ndk 兼容
2.stackoverflow 社区查找资料;
3.Android官网查找资料;
4.仔细想想为什么不获取权限先去执行后台逻辑了呢?
直接放到后台权限的话怎么考虑,删掉广播就可以了;