2014-07-14 12 views
5

Ich weiß, diese Frage hatte schon eine Menge Antwort und beheben ... Aber nichts für mich gearbeitet ...konnte nicht gefunden Methode com.google.android.gms.common.GooglePlayServicesUtil

Ich versuche, füge die Push-Benachrichtigung meinen Android-Apps hinzu. Dazu benutze ich die "google-play-services_lib" und die "google-play-services.jar". Ich folgte dem Tutorial von Google Setting Up Google Play Services für Eclipse.

Was ich tat:

  • Installation der Google
  • Import eines vorhandenen Android-Code in Arbeitsbereich (/ Android-SDKs/Extras/google/google_play_services/libproject in Eclipse Dienste mit dem SDK-Manager spielen/google-Play-services_lib) mit den „Copy Projekte in Arbeitsbereich“ checked ... nach dem, was google vorgeschlagen

    Hinweis: Sie sollten eine Kopie der Bibliothek werden verweisen, dass Sie Ihre Entwicklung kopiert Arbeitsplatz-Sie sollte die Bibliothek nicht direkt aus dem Android SDK-Verzeichnis verweisen.

  • die Bibliothek in mein Projekt Referenzierung (Rechtsklick -> Eigenschaften -> Android -> Bibliothek -> Add -> Google-Play-services_lib)

  • Added eine Kopie des Google-Play- services.jar in meinen Ordner projetc libs.

  • die JAR-Datei auf meinen Build-Pfad Hinzufügen ... Ich hatte die JAR-Dateien im Rahmen der Bestellung und Export Registerkarte deaktivieren Sie den folgenden Fehler zu vermeiden:

    [2014.07.14 09.41 : 56 - Dex Loader] Kann nicht ausgeführt werden dex: Mehrere dex Dateien definieren Lcom/google/android/gms/internal/a;
    [2014-07-14 09:41:56] Konvertierung zum Dalvik-Format fehlgeschlagen: Kann nicht ausgeführt werden dex: Mehrere dex-Dateien definieren Lcom/google/android/gms/internal/a;

  • addiert die folgenden meine Manifest-Datei:

    <meta-data android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 
    
  • Erstellen der Pro-guard Ausnahme

    -keep class * extends java.util.ListResourceBundle { 
    protected Object[][] getContents(); 
    } 
    
    -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable { 
    public static final *** NULL; 
    } 
    
    -keepnames @com.google.android.gms.common.annotation.KeepName class * 
    -keepclassmembernames class * { 
    @com.google.android.gms.common.annotation.KeepName *; 
    } 
    
    -keepnames class * implements android.os.Parcelable { 
    public static final ** CREATOR; 
    } 
    

Wenn ich versuche, einfach zu überprüfen, ob das Gerät den Google hat Play Service APK mit den folgenden

GooglePlayServicesUtil.isGooglePlayServicesAvailable(this) 

Ich sehe immer diese Fehlermeldung:

Could not find method com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable, referenced from method com.example.testpush.MainActivity.onCreate 

Und:

07-14 10:34:53.631: E/AndroidRuntime(421): FATAL EXCEPTION: main 
07-14 10:34:53.631: E/AndroidRuntime(421): java.lang.NoClassDefFoundError: com.google.android.gms.common.GooglePlayServicesUtil 
07-14 10:34:53.631: E/AndroidRuntime(421): at com.example.testpush.MainActivity.onCreate(MainActivity.java:16) 
07-14 10:34:53.631: E/AndroidRuntime(421): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
07-14 10:34:53.631: E/AndroidRuntime(421): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
07-14 10:34:53.631: E/AndroidRuntime(421): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
07-14 10:34:53.631: E/AndroidRuntime(421): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
07-14 10:34:53.631: E/AndroidRuntime(421): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
07-14 10:34:53.631: E/AndroidRuntime(421): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-14 10:34:53.631: E/AndroidRuntime(421): at android.os.Looper.loop(Looper.java:123) 
07-14 10:34:53.631: E/AndroidRuntime(421): at android.app.ActivityThread.main(ActivityThread.java:3683) 
07-14 10:34:53.631: E/AndroidRuntime(421): at java.lang.reflect.Method.invokeNative(Native Method) 
07-14 10:34:53.631: E/AndroidRuntime(421): at java.lang.reflect.Method.invoke(Method.java:507) 
07-14 10:34:53.631: E/AndroidRuntime(421): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
07-14 10:34:53.631: E/AndroidRuntime(421): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
07-14 10:34:53.631: E/AndroidRuntime(421): at dalvik.system.NativeStart.main(Native Method) 

ich hier etwas fehlt Bin ???? Danke für jede Idee.

+0

Ist Ihr '' Tag unter dem' 'Tag in der Manifest-Datei? Verbessert es, wenn die lib nicht im Ordner libs ist? – Diederik

+0

Ich habe das gleiche Problem! –

+0

Ich löste das Problem mit einer frischen SDK-Installation – gabsao

Antwort

1

Ich lief genau in dieses Problem. Starte den sauberen Eclipse-Arbeitsbereich (mit ADT 23.0.3.1327240). Die neueste Play Services-Bibliothek (v 5.0.89-000) wurde über den SDK-Manager heruntergeladen.Gefolgt alle richtig instructions, und noch Linker Probleme, wenn App gestartet wird.

Meine Lösung war, eine ältere Version der Play Serices-Bibliothek zu verwenden (glücklicherweise noch v4.4.52-000 der lib in einem meiner älteren Projekte. Download mine here.) Eine Aktualisierung und sauberer Build nach dem Importieren dieser älteren Version scheint um das Problem für jetzt zu lösen.

Hoffentlich wird jemand die logged bug kommentieren und uns eine echte Lösung geben.

+1

Haben das gleiche Problem hier. So scheint es ein Problem mit der neuesten Glas-Release zu sein. – Michael

+0

Ich löste das Problem mit einer frischen SDK-Installation – gabsao

+0

wie Sie gelöst? sdk erneut herunterladen? – delive

Verwandte Themen