ClassLoader引用未知路径:/data/app/。

36
我遇到了这个错误。它说“ClassLoader引用了未知路径”,但我不知道该怎么做。有人能解决我的问题吗?
03-11 01:35:46.231 3040-3040/com.pptsindia.feedapp I/art: Not late-enabling -Xcheck:jni (already on)
03-11 01:35:46.418 3040-3040/com.pptsindia.feedapp W/System: ClassLoader referenced unknown path: /data/app/com.pptsindia.feedapp-1/lib/x86
03-11 01:35:46.884 3040-3040/com.pptsindia.feedapp D/AndroidRuntime: Shutting down VM
03-11 01:35:46.886 3040-3040/com.pptsindia.feedapp E/AndroidRuntime: FATAL EXCEPTION: main
                                                                     Process: com.pptsindia.feedapp, PID: 3040
                                                                     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pptsindia.feedapp/com.pptsindia.feedapp.MainActivity}: android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class at.markushi.ui.CircleButton
           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
           at android.app.ActivityThread.-wrap11(ActivityThread.java)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
           at android.os.Handler.dispatchMessage(Handler.java:102)
           at android.os.Looper.loop(Looper.java:148)
           at android.app.ActivityThread.main(ActivityThread.java:5417)
           at java.lang.reflect.Method.invoke(Native Method)
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
           Caused by: android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class at.markushi.ui.CircleButton
           at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
           at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
           at com.pptsindia.feedapp.MainActivity$PlaceholderFragment.onCreateView(MainActivity.java:33)
           at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974)
           at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
           at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
           at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
           at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
           at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:339)
           at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:602)
           at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1237)
           at android.app.Activity.performStart(Activity.java:6253)
           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)
           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
           at android.app.ActivityThread.-wrap11(ActivityThread.java) 
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
           at android.os.Handler.dispatchMessage(Handler.java:102) 
           at android.os.Looper.loop(Looper.java:148) 
           at android.app.ActivityThread.main(ActivityThread.java:5417) 
           at java.lang.reflect.Method.invoke(Native Method) 
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
       Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class at.markushi.ui.CircleButton
           at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
           at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
           at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
           at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
           at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
           at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
           at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
           at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
           at com.pptsindia.feedapp.MainActivity$PlaceholderFragment.onCreateView(MainActivity.java:33) 
           at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) 
           at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
           at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) 
           at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 
           at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) 
           at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:339) 
           at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:602) 
           at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1237) 
           at android.app.Activity.performStart(Activity.java:6253) 
           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379) 
           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
           at android.app.ActivityThread.-wrap11(ActivityThread.java) 
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
           at android.os.Handler.dispatchMessage(Handler.java:102) 
           at android.os.Looper.loop(Looper.java:148) 
           at android.app.ActivityThread.main(ActivityThread.java:5417) 
           at java.lang.reflect.Method.invoke(Native Method) 
           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
       Caused by: java.lang.ClassNotFoundException: Didn't find class "at.markushi.ui.CircleButton" on path: DexPathList[[zip file "/data/app/com.pptsindia.feedapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.pptsindia.feedapp-1/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.view.LayoutInflater.createView(LayoutInflater.java:583)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
            at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:838) 
            at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
            at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
            at com.pptsindia.feedapp.MainActivity$PlaceholderFragment.onCreateView(MainActivity.java:33) 
            at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) 
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) 
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) 
            at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:339) 
            at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:602) 
            at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1237) 
            at android.app.Activity.performStart(Activity.java:6253) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
            at android.app.ActivityThread.-wrap11(ActivityThread.java) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:148) 
            at android.app.ActivityThread.main(ActivityThread.java:5417) 
            at java.lang.reflect.Method.invoke(Native Method) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
        Suppressed: java.lang.ClassNotFoundException: at.markushi.ui.CircleButton
            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)
        ... 30 more
        Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
03-11 01:35:51.964 3040-3040/? I/Process: Sending signal. PID: 3040 SIG: 9
4个回答

18

对于那些在未来仍在寻找答案的人(就像我一样)。

 

W / System:ClassLoader引用了未知路径:/data/app/[...]/lib/x86

这是我在LogCat中遇到的唯一错误/警告。尝试了几乎所有方法后,清除Android OS中的应用数据(设置->应用程序->MyApp->内存->清除数据)是唯一有效的解决方案。

希望能对某人有所帮助。


2
嗨,erwilka,你是对的。但是用户如何知道必须要使用(设置->应用程序->MyApp->内存->清除数据)来清除数据呢? 有没有其他方式可以手动防止这种情况发生? - Vikas Gaurav
Vikas Gaurav,我只在开发阶段遇到了这个问题,在布局文件进行小改动后编译应用程序时。安装成功后,这个问题再也没有出现过。 - erwilka

13

W/System: ClassLoader引用未知路径: /data/app/com.pptsindia.feedapp-1/lib/x86

这不是一个错误,而是系统的警告信息。

实际错误在下方稍微有点:

FATAL EXCEPTION: main

Process: com.pptsindia.feedapp, PID: 3040

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pptsindia.feedapp/com.pptsindia.feedapp.MainActivity}: android.view.InflateException: Binary XML file line #14: Binary XML file line #14: Error inflating class at.markushi.ui.CircleButton

基本上你的XML文件存在问题。

所以你需要继续阅读堆栈信息来确保找到问题的根源。正如你所看到的,logcat 显示了每行日志前缀

  • V — 冗长 (最低优先级)

  • D — 调试

  • I — 信息

  • W — 警告

  • E — 错误

  • F — 致命错误

  • S — 静默(最高优先级,不会输出任何信息)

更多信息请参见Android Developer - 调试日志


编辑

没有更多的信息,无法知道实际的问题所在。你需要提供XML文件,但在这种情况下,我建议你为此开启另一个问题。


“Basically you have a problem on your XML file”是什么意思?为什么会出现这种问题?如何解决?如果他不知道在寻找什么,那么继续阅读日志就没有意义了。 - Ernesto Cejas
1
@ErnestoCejas 他询问的错误与他提供的信息无关。该信息涉及警告。他实际的问题与XML的格式有关,如果没有更多的信息是不可能知道的。如果他想解决XML问题,我建议他开另一个问题。 - GabrielOshiro

3
在我的情况下,是Android Studio 3.0中的“即时运行”。我已将其禁用,最终可以在调试模式下运行应用程序!看起来“即时运行”仍然存在一些问题...要找到它:文件 -> 设置 -> 构建、执行、部署 -> 即时运行。

1
谢谢 - 这对我也起作用了。 - winwaed

0
在我的情况下,原因是APK的dex文件中缺少了MyActivity。
这是因为它没有被编译,也没有被包含在构建中,因为它是一个Kotlin类(MyActivity.kt),而应用程序模块的“build.gradle”文件中未启用Kotlin插件(由于错误)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接