Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yinuo.parking.app.MyApplication" 如何关闭 Android Studio 新特性Instant Run

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yinuo.parking.app.MyApplication" on path: DexPathList[[zip file "/data/app/com.yinuo.parking-1/base.apk"],nativeLibraryDirectories=[/data/app/com.yinuo.parking-1/lib/arm, /data/app/com.yinuo.parking-1/base.apk!/lib/armeabi, /system/lib, /vendor/lib]]

      最近在项目开发中产品即将上线阶段,在我们自己的测试机子上出现了这个问题(PS:测试机多了心真的是累)。就这个问题真的是整了一整天,从stackoverflow 到google 再从csdn到某度,还有其他的一些社区来寻找这个问题的解决方法,结果都不尽人意,而且还把自己带到了沟里去了。大家看到这个报错的原因,可能会想到是so文件的配置出了问题,那么你要小心了,这会把你拖入的深坑中去。我就这样,进去差点没爬出来。这里也是佩服自己,在ndk的坑里深深的钻研了一天。好了,闲话不多说了。到底这个问题出现的原因是因为什么呢。。。嘿嘿,下面来给大家分解一下。
      从报错的信息上来看,是我们的application类没有加载出来,也就是说编译的过程中,因为某些因素导致程序编译异常,从而出现这种错误。这里,需要大家去研究一波Android diavlak的机制原理了,以及什么dex分区这些乱七八糟的高深的东西。这些都是有助于我们在底层上进行优化。本人发生这个错误是在oppo R11s 上出现的这个问题(日了狗)。
      Android studio 目前是Android人员开发的工具,他有强大的instant run功能, 对于新系统版本的更新以及新的rom出现,这个东西总是有点慢半拍的,他的编译和加载并不能百分之百的和我们真机的Android系统想媲美,所以建议大家在真机调试过程中把这个东西关了,对于绝大部分手机可能不会出现这个问题,但是测试机多了是真心难受,关闭instant run的方法在这里

如何关闭 Android Studio 新特性Instant Run

解决方法:

1.打开项目,左上角的Android Studio(注意:一定要在这里打开,欢迎页面里面的Setting是不可勾选的!!!!!)

2.选择Preference


3.清除勾选全部即可

把勾去掉再运行一下试试还会调试不成功么?如果还是调试不成功的话,那就要检查 你本地ndk的配置了。希望这篇文章能帮助到大家,因为在我解决这个问题的时候,并没有人提出这种解决方案,还有就是大家遇到问题的时候,一定到钻进去,干掉的他。

猜你喜欢

转载自blog.csdn.net/adminlxb89/article/details/80772328