错误"致:抛出java.lang.ClassNotFoundException:" [英] Error "Caused by: java.lang.ClassNotFoundException:"

查看:271
本文介绍了错误"致:抛出java.lang.ClassNotFoundException:"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在关于SQLite的我也遇到恼人的问题与下面的错误的Andr​​oid vogella教程:

  9月9号至5号:18:06.127:E / AndroidRuntime(981):由:抛出java.lang.ClassNotFoundException:没有找到类com.example.de.vogella .android.todos.contentprovider.MyTodoContentProvider的路径:DexPathList [zip文件"/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /系统/ lib目录]
 

我跟很多次步步modyfying所有文件都正确地重新创建R.类。非常奇怪的事情这个errror是,我不知道为什么会出现关于com.example.de.vogella.android为com.example任何东西。这是某种标准生成的名称?我所有的包/名/路径从来没有开始为com.example(在这个项目中)。我检查了所有文件,并不能发现问题。

从LogCat中更多的输出:

  9月9号至5号:18:06.127:E / AndroidRuntime(981):致命异常:主要
9月9号至五号:18:06.127:E / AndroidRuntime(981):java.lang.RuntimeException的:无法获得供应商com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider:抛出java.lang.ClassNotFoundException:没找不到类com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider的路径:DexPathList [zip文件"/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /系统/ lib目录]
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.app.ActivityThread.installProvider(ActivityThread.java:4882)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.app.ActivityThread.installContentProviders(ActivityThread.java:4485)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.app.ActivityThread.handleBindApplication(ActivityThread.java:4425)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.app.ActivityThread.access $ 1300(ActivityThread.java:141)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1316)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.os.Handler.dispatchMessage(Handler.java:99)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.os.Looper.loop(Looper.java:137)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.app.ActivityThread.main(ActivityThread.java:5103)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在java.lang.reflect.Method.invokeNative(本机方法)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在java.lang.reflect.Method.invoke(Method.java:525)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在dalvik.system.NativeStart.main(本机方法)
9月9号至五号:18:06.127:E / AndroidRuntime(981):抛出java.lang.ClassNotFoundException:产生的原因没有找到类com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider的路径: DexPathList [zip文件"/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /系统/ lib目录]
9月9号至五号:18:06.127:E / AndroidRuntime(981):在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在java.lang.ClassLoader.loadClass(ClassLoader.java:501)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在java.lang.ClassLoader.loadClass(ClassLoader.java:461)
9月9号至五号:18:06.127:E / AndroidRuntime(981):在android.app.ActivityThread.installProvider(ActivityThread.java:4867)
9月9号至五号:18:06.127:E / AndroidRuntime(981):12 ...更多
9月9号至五号:18:06.156:E / ActivityThread(950):未能找到de.vogella.android.todos.contentprovider供应商信息
 

在generall应用程序启动,但得到的崩溃从一开始就与输出:

 很遗憾,{AppName的}已停止。
 

我的Andr​​oidManifest.xml中看起来像这样

 < XML版本=1.0编码=UTF-8&GT?;
<舱单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    包=de.vogella.android.todos
    安卓版code =1
    机器人:VERSIONNAME =1.0>

    <用途-SDK
        安卓的minSdkVersion =13
        机器人:targetSdkVersion =18/>

    <应用
        机器人:allowBackup =真
        机器人:图标=@可绘制/提醒
        机器人:标签=@字符串/ APP_NAME
        机器人:主题=@风格/ AppTheme>
        <活动
            机器人:TodosOverviewActivityNAME =
            机器人:标签=@字符串/ APP_NAME>
            <意向滤光器>
                <作用机器人:名称=android.intent.action.MAIN/>

                <类机器人:名称=android.intent.category.LAUNCHER/>
            &所述; /意图滤光器>
        < /活性GT;
        <活动
            机器人:TodoDetailActivityNAME =
            机器人:windowSoftInputMode =stateVisible | adjustResize
            机器人:标签=@字符串/ title_activity_todo_detail>
        < /活性GT;

        <供应商
            机器人:名称=。contentprovider.MyTodoContentProvider
            机器人:当局=de.vogella.android.todos.contentproviderxxxxxxx>
        < /供应商>
    < /用途>

< /舱单>
 

我刚开始与Android所以我guese有一些微不足道的缺失。

多谢了。

修改 更改<供应商> 来:

 <供应商
            机器人:名称=。contentprovider.MyTodoContentProvider
            机器人:当局=de.vogella.android.todos.contentprovider>
        < /供应商>
 

结果:

 安装错误:INSTALL_FAILED_CONFLICTING_PROVIDER
请logcat的输出获取更多信息。
启动取消!
 

与LogCat中:

 二月九日至6日:02:38.198:E / AndroidRuntime(864):致命异常:主要
二月九日至六日:02:38.198:E / AndroidRuntime(864):java.lang.RuntimeException的:无法获得供应商com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider:抛出java.lang.ClassNotFoundException:没找不到类com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider的路径:DexPathList [zip文件"/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /系统/ lib目录]
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.app.ActivityThread.installProvider(ActivityThread.java:4882)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.app.ActivityThread.installContentProviders(ActivityThread.java:4485)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.app.ActivityThread.handleBindApplication(ActivityThread.java:4425)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.app.ActivityThread.access $ 1300(ActivityThread.java:141)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1316)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.os.Handler.dispatchMessage(Handler.java:99)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.os.Looper.loop(Looper.java:137)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.app.ActivityThread.main(ActivityThread.java:5103)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在java.lang.reflect.Method.invokeNative(本机方法)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在java.lang.reflect.Method.invoke(Method.java:525)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在dalvik.system.NativeStart.main(本机方法)
二月九日至六日:02:38.198:E / AndroidRuntime(864):抛出java.lang.ClassNotFoundException:产生的原因没有找到类com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider的路径: DexPathList [zip文件"/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /系统/ lib目录]
二月九日至六日:02:38.198:E / AndroidRuntime(864):在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在java.lang.ClassLoader.loadClass(ClassLoader.java:501)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在java.lang.ClassLoader.loadClass(ClassLoader.java:461)
二月九日至六日:02:38.198:E / AndroidRuntime(864):在android.app.ActivityThread.installProvider(ActivityThread.java:4867)
二月九日至六日:02:38.198:E / AndroidRuntime(864):12 ...更多
二月九日至六日:02:38.236:E / ActivityThread(834):未能找到de.vogella.android.todos.contentprovider供应商信息
 

解决方案

我有这个问题一次。在code的工作previously,突然停止工作(崩溃在应用程序启动)时,我并同步建立的code的旧版本。

此修复程序是只关闭并重新启动Eclipse和清理项目,并清理所有依赖库项目。然后,它开始正常工作了。

这是某种形式的Eclipse构建问题,刷新项目文件时。

更新:尤其是,如果你不小心修改了的.classpath文件(要恢复到旧版本)时,Eclipse / Android的SDK可以感到困惑,并没有生成项目正常。当您重新启动Eclipse和清理项目,Eclipse会重新修改的.classpath文件,并建立正常。

During android vogella tutorial regarding to sqlite I have encountered annoying problem with following error:

09-05 09:18:06.127: E/AndroidRuntime(981): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider" on path: DexPathList[[zip file "/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /system/lib]]

I followed many times step by step modyfying all files to have R. class properly recreated. The very strange thing about this errror is that I have no idea why there is anything about "com.example" in "com.example.de.vogella.android". Is this some kind of standard generated name? All my packages/names/paths never started with "com.example"(In this project). I checked all files and cant find issue.

More output from LogCat:

09-05 09:18:06.127: E/AndroidRuntime(981): FATAL EXCEPTION: main
09-05 09:18:06.127: E/AndroidRuntime(981): java.lang.RuntimeException: Unable to get provider com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider: java.lang.ClassNotFoundException: Didn't find class "com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider" on path: DexPathList[[zip file "/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /system/lib]]
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.app.ActivityThread.installProvider(ActivityThread.java:4882)
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4485)
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4425)
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.app.ActivityThread.access$1300(ActivityThread.java:141)
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.os.Looper.loop(Looper.java:137)
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.app.ActivityThread.main(ActivityThread.java:5103)
09-05 09:18:06.127: E/AndroidRuntime(981):  at java.lang.reflect.Method.invokeNative(Native Method)
09-05 09:18:06.127: E/AndroidRuntime(981):  at java.lang.reflect.Method.invoke(Method.java:525)
09-05 09:18:06.127: E/AndroidRuntime(981):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-05 09:18:06.127: E/AndroidRuntime(981):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-05 09:18:06.127: E/AndroidRuntime(981):  at dalvik.system.NativeStart.main(Native Method)
09-05 09:18:06.127: E/AndroidRuntime(981): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider" on path: DexPathList[[zip file "/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /system/lib]]
09-05 09:18:06.127: E/AndroidRuntime(981):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
09-05 09:18:06.127: E/AndroidRuntime(981):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
09-05 09:18:06.127: E/AndroidRuntime(981):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
09-05 09:18:06.127: E/AndroidRuntime(981):  at android.app.ActivityThread.installProvider(ActivityThread.java:4867)
09-05 09:18:06.127: E/AndroidRuntime(981):  ... 12 more
09-05 09:18:06.156: E/ActivityThread(950): Failed to find provider info for de.vogella.android.todos.contentprovider

In generall application starts but gets crash from the beginning with output:

Unfortunatelly, {AppName} has stopped.

My AndroidManifest.xml looks like this

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.vogella.android.todos"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="13"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/reminder"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".TodosOverviewActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".TodoDetailActivity"
            android:windowSoftInputMode="stateVisible|adjustResize"
            android:label="@string/title_activity_todo_detail" >
        </activity>

        <provider
            android:name=".contentprovider.MyTodoContentProvider"
            android:authorities="de.vogella.android.todos.contentproviderxxxxxxx" >
        </provider>
    </application>

</manifest>

I have just started with android so I guese there is something trivial missing.

Thanks a lot.

EDIT Change of <provider> to:

<provider
            android:name=".contentprovider.MyTodoContentProvider"
            android:authorities="de.vogella.android.todos.contentprovider" >
        </provider>

results in :

Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER
Please check logcat output for more details.
Launch canceled!

with LogCat:

09-06 02:02:38.198: E/AndroidRuntime(864): FATAL EXCEPTION: main
09-06 02:02:38.198: E/AndroidRuntime(864): java.lang.RuntimeException: Unable to get provider com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider: java.lang.ClassNotFoundException: Didn't find class "com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider" on path: DexPathList[[zip file "/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /system/lib]]
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.app.ActivityThread.installProvider(ActivityThread.java:4882)
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4485)
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4425)
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.app.ActivityThread.access$1300(ActivityThread.java:141)
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.os.Looper.loop(Looper.java:137)
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.app.ActivityThread.main(ActivityThread.java:5103)
09-06 02:02:38.198: E/AndroidRuntime(864):  at java.lang.reflect.Method.invokeNative(Native Method)
09-06 02:02:38.198: E/AndroidRuntime(864):  at java.lang.reflect.Method.invoke(Method.java:525)
09-06 02:02:38.198: E/AndroidRuntime(864):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-06 02:02:38.198: E/AndroidRuntime(864):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-06 02:02:38.198: E/AndroidRuntime(864):  at dalvik.system.NativeStart.main(Native Method)
09-06 02:02:38.198: E/AndroidRuntime(864): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.de.vogella.android.todos.contentprovider.MyTodoContentProvider" on path: DexPathList[[zip file "/data/app/com.example.de.vogella.android.todos-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.de.vogella.android.todos-1, /system/lib]]
09-06 02:02:38.198: E/AndroidRuntime(864):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
09-06 02:02:38.198: E/AndroidRuntime(864):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
09-06 02:02:38.198: E/AndroidRuntime(864):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
09-06 02:02:38.198: E/AndroidRuntime(864):  at android.app.ActivityThread.installProvider(ActivityThread.java:4867)
09-06 02:02:38.198: E/AndroidRuntime(864):  ... 12 more
09-06 02:02:38.236: E/ActivityThread(834): Failed to find provider info for de.vogella.android.todos.contentprovider

解决方案

I had this problem once. The code was working previously and suddenly it stopped working (crash at app startup) when I synced and built an older version of the code.

The fix was to just close and restart Eclipse and clean the project and clean all the dependent library projects. Then it started working properly again.

It's some sort of build problem in Eclipse, when refreshing the project files.

Update: In particular, if you've accidentally modified the ".classpath" file (to revert to an older version), Eclipse/Android SDK can get confused and not build the project properly. When you restart Eclipse and clean the project, Eclipse will re-modify the ".classpath" file, and build properly.

这篇关于错误&QUOT;致:抛出java.lang.ClassNotFoundException:&QUOT;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆