5

AndroidからGoogleドライブのクイックスタートを勉強した後。サンプルをダウンロードしたところ、次のエラーが発生しました。

01-13 03:38:39.039: E/AndroidRuntime(29967): java.lang.RuntimeException: Unable to get provider com.example.android.notepad.NotePadProvider: java.lang.ClassNotFoundException: com.example.android.notepad.NotePadProvider in loader dalvik.system.PathClassLoader[/data/app/com.example.android.notepad-1.apk]
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.app.ActivityThread.installProvider(ActivityThread.java:3561)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.app.ActivityThread.installContentProviders(ActivityThread.java:3313)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3269)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.app.ActivityThread.access$2200(ActivityThread.java:117)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:973)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.os.Looper.loop(Looper.java:130)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.app.ActivityThread.main(ActivityThread.java:3687)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at java.lang.reflect.Method.invokeNative(Native Method)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at java.lang.reflect.Method.invoke(Method.java:507)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at dalvik.system.NativeStart.main(Native Method)
01-13 03:38:39.039: E/AndroidRuntime(29967): Caused by: java.lang.ClassNotFoundException: com.example.android.notepad.NotePadProvider in loader dalvik.system.PathClassLoader[/data/app/com.example.android.notepad-1.apk]
01-13 03:38:39.039: E/AndroidRuntime(29967):    at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-13 03:38:39.039: E/AndroidRuntime(29967):    at android.app.ActivityThread.installProvider(ActivityThread.java:3546)
01-13 03:38:39.039: E/AndroidRuntime(29967):    ... 12 more

こちらの指示に従いました。ここで何が欠けていますか?

4

2 に答える 2

1

このContentProvider.PipeDataWriterはAPI 11以降、別名Honeycombに追加されたため、Androidのバージョンが古い可能性があります。

サンプルソースの重要な行に注意してください

public class NotePadProvider extends ContentProvider 
                            implements 
                            PipeDataWriter<Cursor> {
    // SNIP 
}

サンプルの元のソースを見ると、AndroidManifest.xml必要な SDK の最小バージョンは 16 (つまり、Android Ice Cream Sandwich 以降) であることが示されています。

<uses-sdk android:minSdkVersion="16" />

古いバージョンの Android で実行すると、ジンジャーブレッドの SDK 9 ClassNotFoundException、フロヨの 8、エクレアの 7 など、現在の Android バージョンを反映するように最小バージョンが変更された場合でも、以前のバージョンの Android には存在しません。ContentProviderPipeDataWriter

于 2013-04-02T20:49:13.790 に答える
0

次のことを試してください。

  1. 「extras」の下の SDK Manager から google_play_services をダウンロードします。
  2. /extras/google/google_play_services/libproject をワークスペースにインポートします (ライブラリとしてインポートされます)。
  3. NotesList から google_play_services.jar を削除します (Google クイックスタート)。
  4. プロジェクト プロパティ > Android > ライブラリの追加 > google_play_services ライブラリの追加に移動します。
  5. クリーンアップして実行

私はjarファイルに何らかの問題があるに違いないと思います.私はちょうどそれをやったところです. それが役に立てば幸い :)

于 2013-01-22T11:10:22.260 に答える