如何将Android DEX(VM字节码)文件反编译成相应的Java源代码?
Stackoverflow上出现了几次这个错误,我将在这个问题中引用其他问题.
我的项目是使用Android Maven插件的Android应用程序,包括库,但也包括一些本地库,因为它们不是通过maven提供的.我的IDE是Eclipse.我主要使用本教程来配置它.我对maven很新.
简而言之,我无法在手机上启动应用程序.启动它时,我会看到上面写的有关Activity的调用错误,这是我的启动Activity调用的SubscriptionView.整个错误跟踪如下:
07-17 15:47:42.170: E/AndroidRuntime(20071): FATAL EXCEPTION: main
07-17 15:47:42.170: E/AndroidRuntime(20071): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.dynamixsspbridge/com.example.dynamixsspbridge.SubscriptionView}: java.lang.ClassNotFoundException: com.example.dynamixsspbridge.SubscriptionView
07-17 15:47:42.170: E/AndroidRuntime(20071): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2034)
07-17 15:47:42.170: E/AndroidRuntime(20071): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
07-17 15:47:42.170: E/AndroidRuntime(20071): at android.app.ActivityThread.access$700(ActivityThread.java:140)
07-17 15:47:42.170: E/AndroidRuntime(20071): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
07-17 15:47:42.170: E/AndroidRuntime(20071): at android.os.Handler.dispatchMessage(Handler.java:99)
07-17 15:47:42.170: E/AndroidRuntime(20071): at android.os.Looper.loop(Looper.java:137)
07-17 15:47:42.170: E/AndroidRuntime(20071): at android.app.ActivityThread.main(ActivityThread.java:4921)
07-17 15:47:42.170: E/AndroidRuntime(20071): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 15:47:42.170: E/AndroidRuntime(20071): at java.lang.reflect.Method.invoke(Method.java:511)
07-17 15:47:42.170: E/AndroidRuntime(20071): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) …Run Code Online (Sandbox Code Playgroud) 这个崩溃发生在我们的应用程序的1800个用户中,每月有1.2个活跃用户(根据Google Developer Console).相当罕见,但它发生了.
Android 4.1高达6,但在报告中没有Android 7.
BaseDexClassLoader中此ClassNotFoundException的本质可能是什么.我们能避免吗?
java.lang.RuntimeException:在Android.app.A活动时,Android.app.A活动时,我在Android.app.ActivityThread.access.access $ 1500(ActivityThread.java)的android.app.LoadedApk.makeApplication(LoadedApk.java:572). 178)
在android.app.Hoper.loop
(Looper.java:194)的android.app.Handler.dispatchMessage(Handler.java:111)上的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1531)android.app.ActivityThread.main(ActivityThread.java:5637)at java.lang.reflect.Method.invoke(Method.java:0)at java.lang.reflect.Method.invoke(Method.java:372)at com .android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:959)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)由以下引起:java.lang.ClassNotFoundException:在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)at java.lang.ClassLoader.loadClass(ClassLoader.java:511)at java.lang.ClassLoader.loadClass(ClassLoader. java:469)在android.app.Instrumentation.newApplication(Instrumentation.java:985)
android.app.LoadedApk.makeApplication(LoadedApk.java:567)