2016-09-21 2 views
8

Ich aktualisierte Android Studio 2.2 und Gradle 2.2.0. Und jetzt habe ich ein Problem zu bauen.Konnte die Eigenschaft "processReleaseGoogleServices" nicht erhalten

Ich folgte diesem Beitrag https://medium.com/google-cloud/automatic-per-variant-google-services-json-configurations-with-gradle-d3d3e40abc0e#.g1p7c1tx2, um zwei "google-services.json" -Dateien zu konfigurieren, die für dev vs prod-Builds verwendet werden und die folgende Methode in meiner app/build.gradle-Datei verwenden, um zwischen dem Kopieren der beiden "google -services.json "Dateien.

afterEvaluate { 
    processDebugGoogleServices.dependsOn switchToDebug 
    processReleaseGoogleServices.dependsOn switchToRelease 
} 

task switchToDebug(type: Copy) { 
    description = 'Switches to DEBUG google-services.json' 
    from "src/gcm-dev" 
    include "google-services.json" 
    into "." 
} 

task switchToRelease(type: Copy) { 
    description = 'Switches to RELEASE google-services.json' 
    from "src/gcm-prod" 
    include "google-services.json" 
    into "." 
} 

Gradle entspricht gut, aber wenn ich auf dem „Run App“ klicken (Dreieck „Play“ Symbol) oder „Debug app“ (Dreieck „Play“ Symbol mit einem Fehler hinter) Schaltflächen im Android Studio, ich Folgendes:

* What went wrong: 
A problem occurred configuring project ':app'. 
> Could not get unknown property 'processReleaseGoogleServices' for object of type com.android.build.gradle.AppExtension. 

Bitte helfen, sehr geschätzt.

+0

Ich habe die gleiche Frage nach dem Update auf Android Studio 2.2 – Paul

+0

Ich habe gerade das gleiche Problem, nachdem ich Android Studio 2.2 aktualisieren – sonida

+0

Haben Sie die Lösung gefunden? – sofi37

Antwort

1

Eine alternative Möglichkeit dazu ist, um die Aufgabe in der folgenden Art und Weise zu verweisen:

tasks.whenTaskAdded { task -> 
    if (task.name == 'assembleDebug') { 
     task.dependsOn 'switchToDebug' 
    } else if (task.name == 'assembleRelease') { 
     task.dependsOn 'switchToRelease' 
    } 
} 

UPDATE

Das Problem, das Sie in Kommentar erwähnt wird Ihre google-services.json Datei verwendet. Sie müssen google-services.json in app/ dir platzieren. Und für jeden Buildtyp sollte ein entsprechender Director in app/src Ordner sein. Datei existiert bereits prüfen, ob die richtigen Paketnamen im Inneren

"client_info": { 
"mobilesdk_app_id": "1:6596814400689:android:65d6f25f5006145", 
"android_client_info": { 
    "package_name": "com.my.app.package.name" 
} 
+0

funktioniert nicht - ich bekomme Folgendes: FAILURE: Build mit einer Ausnahme fehlgeschlagen. * Was schief gelaufen ist: Ausführung fehlgeschlagen für Task ': app: processReleaseGoogleServices'. > Kein passender Kunde für Paketname gefunden – user1465656

+0

@ user1465656 Bitte überprüfen Sie mein Update. Problem bezieht sich auf 'google-services.json' –

1

Sie sollten Google und folgen Sie der Dokumentation gradle Plugin Play-Dienste aktualisieren einzurichten: https://developers.google.com/android/guides/google-services-plugin

Die große Sache, dass Sie keine länger müssen Sie Aufgaben schreiben, die geeignete google-services.json Dateien in Ihrem Stammverzeichnis erstellen. Bauen Sie typspezifischen google-services.json werden nun durch das Plugin unterstützt:

„Ab der Version 2.2.0 das Plugin-Build-Dateien Typ und Produktgeschmack spezifischen JSON unterstützt Alle folgenden Verzeichnisstrukturen sind gültig“

3

Ich hatte das gleiche Problem und Problem war in aktivierten sofort run.Try, um es zu deaktivieren und erneut ausführen.

+0

arbeitete wie ein Charme! Danke! –

Verwandte Themen