Android Studio mit Google Play-Diensten

Ich versuche Google Play Services mit dem neuen Android Studio zu testen. Ich habe ein Projekt mit einer Abhängigkeit von der google_play_services.jar. Aber wenn ich versuche, das Projekt neu zu erstellen, erhalte ich folgende Fehler:

Information:[TstGP3-TstGP3] Crunching PNG Files in source dir: C:\Users\ans\AndroidStudioProjects\TstGP3\TstGP3\src\main\res Information:[TstGP3-TstGP3] To destination dir: C:\Users\ans\AndroidStudioProjects\TstGP3\build\classes\res-cache\TstGP3-TstGP3 Information:Compilation completed with 2 errors and 0 warnings in 2 sec Information:2 errors Information:0 warnings C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\Android_BuildConfig_Generator\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\BuildConfig.java Error:Error:line (4)error: duplicate class: com.example.tstgp3.BuildConfig C:\Users\ans\.AndroidStudioPreview\system\compiler\tstgp3.3f17bd41\.generated\aapt\TstGP3-TstGP3.74fc5b25\production\com\example\tstgp3\R.java Error:Error:line (10)error: duplicate class: com.example.tstgp3.R 

Es scheint, dass es zwei BuildConfig-Dateien und auch zwei R-classn hat. Wie kann ich das Problem beheben?

BEARBEITEN:

Ich habe bemerkt, dass der Compiler zwei R.java-Dateien kompiliert: die eine, die in meinem Projektordner ist und eine andere, die im Ordner% USERPROFILE% .AndroidStudioPreview liegt. Also habe ich versucht, diesen “Vorschau” -Ordner in den Compiler-Einstellungen auszuschließen und jetzt funktioniert es. Dieses Problem tritt nur auf, nachdem ich begonnen habe, Google Play Services-classn in meinem Projekt zu verwenden. Ich werde es zu schätzen wissen, wenn jemand den Grund für dieses Problem erklären kann.

All diese Antworten sind falsch, seit der Veröffentlichung von Gradle Plugin v0.4.2 die Einrichtung von Google Play Services unter Android Studio ist geradlinig. Sie müssen kein jar importieren oder eine Projektbibliothek hinzufügen oder ein neues Modul unter android studio hinzufügen. Sie müssen die korrekten Abhängigkeiten in die Datei build.gradle einfügen. Bitte casting Sie einen Blick auf diese Links: Gradle Plugin v0.4.2 Update , New Build System und dieses Beispiel

Der richtige Weg ist wie folgt:

Zunächst müssen Sie den SDK-Manager starten und die folgenden Dateien unter “Extras” herunterladen und installieren: Android-Support-Repository , Google Play-Dienste , Google-Repository .

Starten Sie Android Studio neu und öffnen Sie die Build-Gradle-Datei. Sie müssen Ihre build.gradle-Datei so ändern, dass sie unter Abhängigkeiten wie folgt aussieht:

 dependencies { compile 'com.google.android.gms:play-services:6.5.87' } 

Und schließlich synchronisieren Sie Ihr Projekt (die Schaltfläche links neben dem AVD-Manager).

Seit Version 6.5 können Sie die komplette Bibliothek (sehr groß) oder nur die Module, die Sie benötigen (Best Option), einbinden. Wenn Sie nur Google Maps und Analytics benötigen, können Sie das vorherige Beispiel durch das folgende ersetzen:

 dependencies { compile 'com.google.android.gms:play-services-base:6.5.87' compile 'com.google.android.gms:play-services-maps:6.5.87' } 

Die vollständige Liste der Abhängigkeiten finden Sie hier

Einige Randnotizen:

  • Verwenden Sie die neueste Version der Play Services-Bibliothek. Wenn es eine alte Version ist, wird Android Studio es hervorheben. Ab heute (5. Februar ist 6.5.87), aber Sie können die neueste Version bei Gradle Please überprüfen
  • Nach einem großen Update von Android Studio, bereinigen Sie ein Projekt, indem Sie die nächsten statementen befolgen, wie in den Kommentaren von @ user123321 vorgeschlagen

    Wechseln Sie in Ihren Projektordner
    ./gradlew sauber
    ./gradlew bauen

  1. Gehe zu Datei -> Projektstruktur
  2. Wählen Sie “Projekteinstellungen”
  3. Wählen Sie die Registerkarte “Abhängigkeiten”
  4. Klicken Sie auf “+” und wählen Sie “1.Library-Abhängigkeiten”
  5. Suche nach: com.google.android.gms: play-services
  6. Wählen Sie die neueste Version und klicken Sie auf “OK”

Voila! Keine Notwendigkeit, mit Gradle zu kämpfen 🙂

EDITED: Dieser Typ brachte es wirklich nach Hause und hat ein gutes kleines Tutorial http://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-android-studio.html

Eine Randnotiz: Ich hatte so viel gradlew clean dass ich einen gradlew clean , um es erfolgreich laufen zu lassen

Wenn Sie Ihr Projekt importiert haben oder mit der Anwendung “Beispielkarten” in \ extras \ google \ google_play_services \ samples \ maps arbeiten, lesen Sie dieses Tutorial.

https://stackoverflow.com/a/16598478/2414698

Wenn Sie ein neues Projekt von Grund auf erstellen, notieren Sie die Kommentare von Xav zum selben Beitrag. Er beschreibt, dass Android Studio einen anderen Compiler verwendet und dass Sie die Datei build.gradle manuell ändern müssen. Ich habe das mit Erfolg gemacht. Ich habe kopiert

  • google-play-services.jar
  • google-play-services.jar.properties

in mein lib-Verzeichnis und fügte meiner build.gradle-Datei folgendes hinzu:

 dependencies { compile files('libs/android-support-v4.jar') compile files('libs/google-play-services.jar') } 

Wenn es sich um ein neues Projekt handelt, lesen Sie auch diesen Beitrag.

https://Stackoverflow.com/a/16671865/2414698

Die meisten dieser Antworten beziehen sich nur auf Kompilierzeitabhängigkeiten, aber Sie finden eine Reihe von NoClassDef-Ausnahmen zur Laufzeit. Das ist, weil Sie mehr als die Google-play-services.jar benötigen. Es verweist auf Ressourcen, die Teil des Bibliotheksprojekts sind, und diese werden nicht korrekt einbezogen, wenn Sie nur das Jar haben.

Am besten funktionierte es für mich, zuerst das Projekt-Setup in Eclipse richtig zu machen. Lassen Sie Ihr Projekt so strukturieren, dass es sowohl Ihre App als auch die Bibliothek enthält, wie hier beschrieben: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup

Exportieren Sie dann Ihr App-Projekt aus Eclipse und importieren Sie es wie hier beschrieben in Android Studio: http://developer.android.com/sdk/installing/migrate.html . Stellen Sie sicher, dass Sie sowohl Ihr App-Projekt als auch das Google Play Services-Bibliotheksprojekt exportieren. Beim Importieren wird das Bibliotheksprojekt erkannt und als Modul importiert. Ich habe alle Standardeinstellungen während des Importvorgangs akzeptiert.

Google Play-Dienste Integration in Android Studio.

Schritt 1:

 SDK manager->Tools Update this 1.Google play services 2.Android Support Repository 

Schritt 2:

 chance in build.gradle defaultConfig { minSdkVersion 8 targetSdkVersion 19 versionCode 1 versionName "1.0" } dependencies { compile 'com.android.support:appcompat-v7:+' compile 'com.google.android.gms:play-services:4.0.+' } 

Schritt 3:

  android.manifest.xml  

Schritt 4:

 Sync project file with grandle. wait for few minute. 

Schritt 5:

 File->Project Structure find error with red bulb images,click on go to add dependencies select your app module. Save 

Bitte geben Sie einen Kommentar ein, wenn Sie Hilfe benötigen. Glückliche Kodierung.

Keine der obigen Lösungen funktionierte für mich. Ich bin mir nicht sicher, ob es für mein Setup oder eine neue Version spezifisch ist.

Ich benutze Android Studio Beta 0.8.9 und habe keine com.google.android.gms: play-service in der Bibliotheksliste erhalten, wenn ich folgende statementen befolgt habe:

Gehe zu Datei -> Projektstruktur -> Wähle Projekteinstellungen -> Wähle ‘Abhängigkeiten’ Tab Klick ‘+’ -> 1.Library Abhängigkeiten -> Wähle com.google.android.gms: play-services: +

Ich hatte das schon getan:

Zunächst müssen Sie den SDK-Manager starten und die folgenden Dateien unter “Extras” herunterladen und installieren: Android-Support-Repository, Google Play-Dienste, Google-Repository.

Was getriggers wurde, war es, vom SDK Manager “Google Play Services für Froyo” hinzuzufügen und dann den ersten Schritt zu wiederholen.

Ich habe den Grund nicht richtig verstanden, aber das hat funktioniert.

PS: Ich habe gerade festgestellt, dass selbst jetzt, wenn ich nach Play-Services suche, das nicht kommt, aber wenn ich direkt blättern und durch die Liste blicke, ist es genau dort.

Folgen Sie diesem Artikel -> http://developer.android.com/google/play-services/setup.html

Sie sollten Android Studio verwenden wählen

Bildbeschreibung hier eingeben

Beispiel Gradel Datei:

Hinweis: Öffnen Sie die Datei build.gradle in Ihrem Anwendungsmodulverzeichnis.

 apply plugin: 'com.android.application' android { compileSdkVersion 20 buildToolsVersion "20.0.0" defaultConfig { applicationId "{applicationId}" minSdkVersion 14 targetSdkVersion 20 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:20.+' compile 'com.google.android.gms:play-services:6.1.+' } 

Die neueste Version der Google Play-Dienste finden Sie hier: https://developer.android.com/google/play-services/index.html

Ich arbeite nach dem folgenden:

  • Haben Sie die Google-play-services-lib als Modul (beachten Sie den Unterschied zwischen Modul und Projekt), dann fügen Sie die google-play-services.jar zu Ihrem Modell “libs” -Verzeichnis hinzu.
  • Danach fügen Sie das Glas zu Ihrem Build-Pfad hinzu, indem Sie eine Bibliothek erstellen oder das Glas zu einer anderen Bibliothek hinzufügen. Ich habe normalerweise eine einzige IDEA-Bibliothek, der ich alle meine /libs/*.jar-Dateien hinzufüge.
  • Fügen Sie die Bibliothek über Moduleinstellungen (F4) zu Ihrem Modulbuildpfad hinzu.
  • Fügen Sie die Google-play-services-lib als Modulabhängigkeit zu Ihrem Projekt hinzu.
  • Erledigt!

Hinweis: Dies gibt mir auch keine Laufzeit Ausnahmen, es funktioniert.

Öffnen Sie Ihre Projekt build.gradle Datei und fügen Sie unter Abhängigkeiten Modul unterhalb hinzu.

 dependencies { compile 'com.google.android.gms:play-services:7.0.0' } 

Im Folgenden werden Google Analytics und Google Maps hinzugefügt, wenn Sie die vollständige Bibliothek nicht integrieren möchten

 dependencies { compile 'com.google.android.gms:play-services-analytics:7.0.0' compile 'com.google.android.gms:play-services-maps:7.0.0' } 

In meinem Fall ist google-play-services_lib als Modul (External Libs) für Google map & GCM in mein Projekt integriert.

Diese Zeit erfordert nun die Implementierung der Google Places-Autocomplete-API, aber das Problem ist, dass der Code neu ist und meine Bibliotheken alt sind, sodass einige classn nicht gefunden wurden:

Befolgen Sie diese Schritte …

1> Aktualisieren Sie den Google Play-Dienst im SDK-Manager

2> wählen Sie neue .jar-Datei von Google Play-Dienst ( Sdk / extras / google / google / google_play_services / libproject / google-play-services_lib / libs ) ersetzen Sie mit alten

Ich habe Erfolg … !!!

Ich habe die play libs-Dateien von der google-play-services_lib in mein Projekt-libs-Verzeichnis kopiert:

  • google-play-services.jar
  • google-play-services.jar.properties.

Wählen Sie sie dann aus, klicken Sie mit der rechten Maustaste auf “Als Bibliotheken hinzufügen”.