2013-01-12 8 views
5

Dopo aver studiato l'unità google quickstart da Android. Ho scaricato il loro esempio e ottenuto questo errore:Fornitore di notepad Android classnotfound erroring google drive sdk examples

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 

Ho seguito le istruzioni here. Cosa mi manca qui?

risposta

1

È probabile che la tua versione di Android sia vecchia, in quanto questo ContentProvider.PipeDataWriter è stato aggiunto all'API 11 in alto, ovvero Honeycomb e versioni successive.

Avviso linea cruciale nella sample source

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

Guardando il original source del campione del AndroidManifest.xml detta la versione minima del SDK richiesto è 16 (vale a dire Android Ice Cream Sandwich o successiva)

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

Eseguendolo su una versione precedente di Android anche se la versione minima è stata modificata per riflettere la versione corrente di Android, ad esempio SDK 9 per Gingerbread, 8 per Froyo o 7 per Eclair, non riuscirà più Bly con il ClassNotFoundException come il ContentProvider non implementa PipeDataWriter a causa di essere inesistente nelle versioni precedenti di Android.

0

provare le seguenti:

  1. Scarica google_play_services da SDK Manager sotto "extra"
  2. Import/extras/google/google_play_services/libproject nel tuo spazio di lavoro (importa come libreria)
  3. Elimina google_play_services .jar da NotesList (google quickstart)
  4. Vai alle proprietà del progetto> Android> aggiungi libreria> aggiungi libreria google_play_services.
  5. pulito e gestito

Credo che ci deve essere un qualche tipo di problema con il vaso, ho appena fatto (ho avuto alcuni errori simili quando ho provato il quickstart pic upload e questo era il modo di risolvilo) e funziona come un fascino. Spero che lo aiuti :)