wake-up-neo.com

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 google_play_services.jar. Wenn ich jedoch versuche, das Projekt neu zu erstellen, erhalte ich die folgenden 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-Klassen hat. Wie kann ich das Problem beheben?

BEARBEITEN:

Ich habe bemerkt, dass der Compiler zwei R.Java-Dateien kompiliert: die eine in meinem Projektordner und eine andere im Ordner% USERPROFILE% .AndroidStudioPreview Ich habe also versucht, diesen "Preview" -Ordner in auszuschließen die Compilereinstellungen und nun funktioniert es .. Dieses Problem tritt erst auf, nachdem ich in meinem Projekt mit der Verwendung von Google Play Services-Klassen begonnen habe. Ich freue mich, wenn jemand den Grund für dieses Problem erklären kann.

96
androidtester

All diese Antworten sind falsch, da die Einrichtung von Google Play-Diensten unter Android Studio mit der Veröffentlichung von gradle plugin v0.4.2 unkompliziert ist. Sie müssen keine JAR-Dateien importieren, keine Projektbibliothek hinzufügen oder neue Module unter Android Studio hinzufügen. Sie müssen die richtigen Abhängigkeiten in die Datei build.gradle einfügen. Bitte schauen Sie sich diese Links an: Gradle plugin v0.4.2 update , New Build System und dieses Beispiel

Die Methode Correct sieht folgendermaßen aus:

Zunächst müssen Sie Starten des SDK-Managers und folgende 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 folgendermaßen aussieht:

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

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

Seit Version 6.5 können Sie die komplette Bibliothek (sehr groß) oder nur die benötigten Module einbeziehen (beste Option). Wenn Sie also 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 Abhängigkeitsliste finden Sie hier

Einige Randnotizen: 

  • Verwenden Sie die neueste Version der Play Services-Bibliothek. Wenn es sich um eine alte Version handelt, wird sie von Android Studio hervorgehoben. Ab heute (5. Februar ist 6.5.87), können Sie die neueste Version unter Gradle Please überprüfen. 
  • Bereinigen Sie nach einem größeren Update von Android Studio Ihr Projekt neu, indem Sie die nächsten Anweisungen befolgen, die in den Kommentaren von @ user123321 vorgeschlagen werden

    cd in ihren projektordner
    ./gradlew sauber
    ./gradlew build

244
Imanol
  1. Gehen Sie 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. Bibliotheksabhängigkeiten" aus.
  5. Suchen Sie nach: com.google.Android.gms: play-services
  6. Wählen Sie die neueste Version aus und klicken Sie auf "OK".

Voila! Keine Notwendigkeit, mit Gradle zu kämpfen :)

113
Ivo Stoyanov

EDITED: Dieser Typ hat es wirklich nach Hause gebracht und hat ein gutes kleines Tutorialhttp://instantiatorgratification.blogspot.com/2013/05/google-play-services-with-Android-studio.html

eine Randbemerkung: Ich hatte so viel herumgespielt, dass ich einen gradlew clean machen musste, damit er erfolgreich lief

Wenn Sie Ihr Projekt importiert haben oder mit der Anwendung "Beispielkarten" arbeiten, die sich unter\extras\google_google_play_services\samples\maps befindet, lesen Sie dieses Tutorial.

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

Wenn Sie ein neues Projekt von Grund auf erstellen, beachten Sie die Kommentare von Xav zu demselben Beitrag. Er beschreibt, dass Android Studio einen anderen Compiler verwendet und dass Sie die build.gradle-Datei 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 dies ein new -Projekt ist, schauen Sie sich auch diesen Beitrag an.

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

5

Die meisten dieser Antworten beziehen sich nur auf Abhängigkeiten der Kompilierzeit, aber zur Laufzeit finden Sie einen Host mit NoClassDef-Ausnahmen. Das liegt daran, dass Sie mehr als google-play-services.jar benötigen. Es verweist auf Ressourcen, die Teil des Bibliotheksprojekts sind, und diese werden nicht korrekt eingefügt, wenn Sie nur über die Dose verfügen.

Was für mich am besten funktionierte, war, zuerst das Projekt richtig in Eclipse einzurichten. 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 -Konfiguration

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

4
Brad Armstrong

Keine der oben genannten Lösungen funktionierte für mich. Nicht sicher, ob es spezifisch für mein Setup oder die neue Version ist.

Ich verwende Android Studio Beta 0.8.9 und erhielt keine com.google.Android.gms: play-service in der Bibliotheksliste, wenn Sie diese Anweisung befolgen:

Gehen Sie zu Datei -> Projektstruktur -> Projekteinstellungen auswählen -> Registerkarte "Abhängigkeiten". Klicken Sie auf "+" -> 1.Bibliothek Abhängigkeiten -> Wählen Sie com.google.Android.gms: play-services: + aus

Ich hatte das schon gemacht:

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

Was nun behoben wurde, war das Hinzufügen von "Google play Services für Froyo" aus dem SDK-Manager. Anschließend wurde der erste Schritt wiederholt. 

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

PS: Ich habe gerade beobachtet, dass selbst wenn ich nach Play-Diensten suche, dies nicht kommt, aber wenn ich direkt scrollen und die Liste durchsehen, ist es genau dort.

2
Selfx Aadhyant

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
<uses-sdk
        Android:minSdkVersion="8" />

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 setzen Sie einen Kommentar, wenn Sie Hilfe benötigen.

2
Harshid

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

Sie sollten sich für Android Studio entscheiden

enter image description here

Beispiel für eine Gradle-Datei:

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

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 aktuellste Version der Google Play-Dienste finden Sie hier: https://developer.Android.com/google/play-services/index.html

2
d.danailov

Ich habe das funktioniert, nachdem ich folgendes getan habe:

  • Haben Sie die google-play-services-lib als Modul (beachten Sie den Unterschied zwischen Modul und Projekt), fügen Sie dann die google-play-services.jar dem "libs" -Verzeichnis Ihres Modells hinzu. 
  • Fügen Sie anschließend dem Build-Pfad das Jar hinzu, indem Sie eine Bibliothek erstellen, oder fügen Sie das Jar einer anderen Bibliothek hinzu. Ich besitze im Allgemeinen eine einzige IDEA - Bibliothek, der ich alle meine /libs/*.jar-Dateien hinzufüge. 
  • Fügen Sie die Bibliothek Ihrem Modulerstellungspfad über die Moduleinstellungen (F4) hinzu.
  • Fügen Sie die google-play-services-lib als Modulabhängigkeit Ihrem Projekt hinzu.
  • Erledigt!

Hinweis: Dies gibt mir auch keine Laufzeitausnahmen, es funktioniert.

1
Johan S

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

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

Im Folgenden werden Google Analytics und Maps hinzugefügt, wenn Sie keine vollständige Bibliothek 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'
}
0
Pankaj

In meinem Fallgoogle-play-services_libsind als Modul (External Libs) für Google map & GCM in mein Projekt integriert.

Nun, diese Zeit erfordert die Implementierung vonGoogle Places Autocomplete API, aber das Problem ist, dass der Code neu ist und meine Bibliotheken alt sind. Einige Klassen wurden nicht gefunden:

folge diesen Schritten ...

1> Aktualisieren Sie Google Play-Dienst in SDK Manager

2> Wählen Sie eine neue .jar-Datei des Google Play-Dienstes aus (Sdk/Extras/Google/Google_play_Services/Libproject/Google-Play-Services_Lib/Libs) und ersetzen Sie die alte

ich habe Erfolg ... !!!

0
Dhruv Raval