错误"致:抛出java.lang.ClassNotFoundException:" [英] Error "Caused by: java.lang.ClassNotFoundException:"
问题描述
在关于SQLite的我也遇到恼人的问题与下面的错误的Android 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的}已停止。
我的AndroidManifest.xml中看起来像这样
< XML版本=1.0编码=UTF-8&GT?;
<舱单的xmlns:机器人=http://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屋!