错误"致:抛出java.lang.ClassNotFoundException:"抛出、错误、QUOT、ClassNotFoundException

由网友(巴黎不快乐)分享简介:在关于SQLite的我也遇到恼人的问题与下面的错误的Andr​​oid vogella教程:9月9号至5号:18:06.127:E / AndroidRuntime(981):由:抛出java.lang.ClassNotFoundException:没有找到类com.example.de.vogella .androi...

在关于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的}已停止。
 
Java开发中出现OOM的常见原因有哪些

我的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.

阅读全文

相关推荐

最新文章