完整异常如下:
Process: com.dzx.myapplication, PID: 3697
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.dzx.myapplication/com.dzx.myapplication.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.dzx.myapplication.MainActivity" on path: DexPathList[[zip file "/data/app/com.dzx.myapplication-2/base.apk"],nativeLibraryDirectories=[/data/app/com.dzx.myapplication-2/lib/x86, /vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2236)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.dzx.myapplication.MainActivity" on path: DexPathList[[zip file "/data/app/com.dzx.myapplication-2/base.apk"],nativeLibraryDirectories=[/data/app/com.dzx.myapplication-2/lib/x86, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2226)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)?
at android.app.ActivityThread.access$800(ActivityThread.java:151)?
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)?
at android.os.Handler.dispatchMessage(Handler.java:102)?
at android.os.Looper.loop(Looper.java:135)?
at android.app.ActivityThread.main(ActivityThread.java:5254)?
at java.lang.reflect.Method.invoke(Native Method)?
at java.lang.reflect.Method.invoke(Method.java:372)?
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)?
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)?
Suppressed: java.lang.ClassNotFoundException: com.dzx.myapplication.MainActivity
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 13 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
导致该异常的原因,开始在项目中使用了https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx
面向切面编程的插件,在gradle中做了相关配置,后来删除了该插件的使用代码,但是gradle配置没有改变,造成本次异常
解决方法:
注释掉module的gradle文件中的
apply plugin: 'android-aspectjx'
即可正常安装编译,该异常消失!