Fehlender Ordner "<sdk> / extras / google / google_play_services / libproject" nach dem Update auf Revision 30

75

Ich habe die Google Play Services-Version von Version 29 auf 30 mit dem Android SDK-Manager aktualisiert, aber nach dem Aktualisieren des Verzeichnisses ist es "<sdk>/extras/google/google_play_services/libproject"verschwunden, sodass nur die Verzeichnisse "docs" und "samples" übrig bleiben.

Ich habe mehrmals versucht, es zu deinstallieren und neu zu installieren, aber es fehlt immer das Verzeichnis "libproject".

Hatte jemand dieses Problem mit dem Update?

Ich verwende Debian Linux 8.4 (Jessie), obwohl ich nicht glaube, dass es etwas mit dem Problem zu tun hat.

Android SDK Manager Bildschirm

google_play_services Verzeichnisbildschirm

jefferson_amarals
quelle
1
Bevor Rev. 30 ankommt, verwende ich Rev. 29 in vielen Spielen und funktioniert einwandfrei, aber wenn Rev. 30 ankommt, funktioniert Rev. 29 nicht, dann habe ich auf Rev. 30 aktualisiert, jetzt funktionieren Anzeigen wieder, scheinen Rev. 29 zu sein und unten funktioniert nicht mehr, ich verwende Unity3d übrigens
Yogi
@Yogi. Wenn ich dies tue, erhalte ich einen Fehler "Keine Ressource gefunden" für diese beiden: '@android: style / Theme.Holo.Light.DialogWhenLarge.NoActionBar' und '@android: style / Theme.Material.Light.DialogWhenLarge.NoActionBar'. Wie haben Sie dieses Problem gelöst?
Andrew S

Antworten:

62

Google hat Google Play Services anscheinend in mehrere Bibliotheken aufgeteilt. Sie finden sie in <sdk>/extras/google/m2repository/com/google/android/gms, wenn Sie auch Google Repositoryüber den SDK-Manager aktualisiert haben .

Die einzelnen Bibliotheken sind im aarFormat, daher müssen Sie sie selbst extrahieren jar, wenn Sie danach suchen.

Cigogne Eveillée
quelle
2
Wie verwende ich diese in Eclipse? Ich habe ein Legacy-Projekt, das aus diesem Grund kaputt gegangen ist.
Andrew S
14
Hier sind die Schritte: 1. Benennen Sie .aar in .zip um. 2. Entpacken Sie die Datei. 3. Erstellen Sie einen 'libs'-Ordner und verschieben Sie die Datei classes.jar hinein. 4. Importieren Sie das Projekt in Eclipse, indem Sie Neu -> Projekt -> verwenden Android-Projekt aus vorhandenem Quellcode 5. Gehen Sie zu den Eigenschaften des Projekts und setzen Sie das Build-Ziel und das Flag 'Is Library'
Cigogne Eveillée
10
Wo finde ich Informationen dazu? Ich finde es lächerlich, dass Google dies getan hat, ohne die Leute wissen zu lassen ... ganz zu schweigen davon, dass sie ihre Website nicht mit diesen Informationen aktualisiert haben ...
Vancert Staff
1
@Cigogne Eveillée Die Klassen in classes.jar Datei verschleierten und seine umbenannt, nicht in der Lage AdListener, AdRequest, InterstitialAd etc Klassen zu importieren
Smeet
6
16. Juli 2016: Google Play Services 31, kein lib-Projekt und die Verwendung von .aar von 9.2.0, 9.2.1 bieten keine Klassen zum Importieren. Lesen Sie diesen Artikel, wenn Sie die aktualisierte gms-ads-Bibliothek verwenden und alle erforderlichen Projektbibliotheken hinzufügen möchten, damit Klassen importiert werden können. Dies führt jedoch zu einem Fehler beim Aufblasen von com.google.android.gms.ads.AdView in XML ... ...... Die endgültige Lösung wird auf 28 oder 29 zurückgesetzt, wenn Sie weiterhin bei Eclipse bleiben möchten, das bei weitem für Android-Entwickler optimiert und speicherfreundlich ist .... github.com/dandar3/android-google-play- services-
ads
45

Ich arbeite an einem Legacy-Projekt in Eclipse und habe das Problem etwas anders behoben als die anderen. Bei der Verwendung des Projekts aus Google Play Services, Version 29, gab es alle möglichen Abhängigkeitsprobleme, die ich nicht lösen konnte. Zum Beispiel wollte es die Kompatibilitätsbibliothek v4, also habe ich sie importiert, aber selbst dann konnte es einige erforderliche Ressourcen nicht finden.

Ich konnte jedoch Revision 28 ohne solche Probleme verwenden und die Mindestversion meiner App auf ICS festlegen. Unten finden Sie einen Link zu Version 28. Laden Sie ihn herunter, entpacken Sie ihn und extrahieren Sie den Ordner libproject an die Stelle , an der er sich vor dem Entfernen normalerweise befunden hätte.

Importieren Sie das Projekt in Eclipse (stellen Sie sicher, dass Kopierdateien ausgewählt sind) auf die übliche Weise und alles wird gut.

https://dl-ssl.google.com/android/repository/google_play_services_8298000_r28.zip

Andrew S.
quelle
3
Vielen Dank, ich habe 4 Stunden lang andere Lösungen ausprobiert und dies war die einzige, die funktioniert hat. Ewig dankbar :)
Barbara PM
1
Danke mein Herr! Schade, dass die Anweisungen von Google nicht funktionieren.
user1010160
@ Andrew S Ihre Lösung hat bei mir funktioniert, danke. In meiner Antwort habe ich einige weitere Details und Screenshots zur Implementierung der Lösung angegeben, falls dies jemand anderem helfen kann: stackoverflow.com/questions/42979484/… .
Jaime Montoya
@Jamie_montoya Ich bin froh, dass Sie es nützlich fanden, aber diese Frage muss als Wiederholung dieser Frage gekennzeichnet werden.
Andrew S
11

Im Moment habe ich mithilfe des auf dieser Website verfügbaren Versionsverlaufs auf Version 29 zurückgestuft (und gut funktioniert): http://www.smorgasbork.com/2015/01/05/google-play-services-sdk-version-history

Ich glaube, es ist möglich, dass dies das neue Format ist, in dem Google die Bibliotheken (in .aar-Dateien) aufgrund der Beschreibung des Updates bereitstellt:

Geben Sie hier die Bildbeschreibung ein

Die Revisionsnummer 29 sagt " Client-Bibliothek und Beispielcode" und die Revisionsnummer 30 sagt " Javadocs und und Beispielcode".

jefferson_amarals
quelle
4

Der m2repository-Ordner enthält aar-Dateien, die für Android Studio verwendet werden. Wenn Sie sich den Beispielordner ansehen und einige der Beispiel-Apps project.properties-Datei öffnen, werden Sie feststellen, dass die Beispiel-Apps weiterhin auf die google-play-services_lib verweisen. Dies wird mit Sicherheit von Google behoben. Ich habe auch Leute gesehen, die sich über das Problem mit Display-Anzeigen beschwert haben. Vielleicht werden sie bald mit einem Update zurückkommen.

Sava Mikalački
quelle
1
@ Jefferson_amarals, vielleicht hast du recht. Der Grund, warum sie es möglicherweise entfernt haben, liegt wahrscheinlich darin, dass die Integration von Firebase das 65k-Referenzlimit verursachen kann. Deshalb haben wir an erster Stelle separate API-Bibliotheken. Wenn Sie die lib noch benötigen, hat dieser Typ ein Eclipse lib-Projekt erstellt, das die JAR-Dateien für neue Wiedergabedienste integriert. Die gleiche Methode kann auch für andere APIs verwendet werden: github.com/dandar3/android-google-play-services- base Außerdem schrieb er hier ein kleines Tutorial, wie man benötigte JARs aus AAR extrahiert: plus.google.com/112240505564011894075/posts/6zpkvmVtGhU
Sava Mikalački
4

Ich habe eine Frage dazu im Google Mobile Ads SDK-Entwicklerforum veröffentlicht. Zusammenfassung der Schritte in der Antwort (von Veer Busani, Mobile Ads SDK-Team):


Wir würden Ihnen niemals empfehlen, einen Teil des Android SDK umzubenennen / zu bearbeiten. Wenn Sie Probleme finden, lassen Sie es uns wissen und wir werden uns darum kümmern. In Bezug auf Ihre Integration von Mobile Ads / Unity / Android werde ich Ihnen sicherlich helfen. Befolgen Sie diese Schritte, wenn Sie sich in Google Play Service Version 30.0 (Version 9.0) befinden.

  • Erstellen Sie ein neues Projekt und importieren Sie das Mobile Ads Unity-Paket .
  • Kopieren Sie unseren Demo - Skript , ein neues leeres Gameobject machen , und fügen Sie das Skript als Komponente.
  • Klicken Sie mit der rechten Maustaste auf den Ordner Assets> PlayServicesResolver und wählen Sie Google Play Services> Client Jars auflösen .
  • Es ist ein Problem mit GMS Revision 30 in Unity bekannt. Um für Android zu erstellen, müssen Sie Assets> Plugins> Android> firebase-common-9.0.0.aar auswählen und im Unity Inspector die Auswahl von Android in den Abschnitten Platform for Plugins deaktivieren .
  • Bearbeiten Sie abschließend die Bundle-ID in Ihren Player-Einstellungen und stellen Sie Ihr großartiges Projekt auf Ihrem Android-Gerät bereit.

Das hat funktioniert.

verblassen
quelle
Was haben mobile Adds mit Kartendiensten zu tun? Dies scheint ein sehr komplizierter Weg zu sein, wenn die Absicht besteht, eine Anwendung mit einer Karte zu haben.
Andrew S
1
@ Andrews: Ihr Kommentar ist der einzige Verweis auf "Karte" auf dieser Seite - weder die Frage noch eine der aktuellen Antworten sind spezifisch für die Zuordnung. Hierbei handelt es sich um Google Play Services, die (unter anderem) für die Unterstützung von Handy-Anzeigen erforderlich sind. Der Zweck für die Installation von GPS ist nicht wesentlich ... es zu installieren und zu funktionieren ist das Endziel. Diese Antwort wurde aus einer offiziellen Antwort im Support-Forum zusammengefasst. Daher ist jede Verwirrung auf die unglückliche Einführung des SDK nach Google I / O zurückzuführen.
Fadden
Jahr fair genug, nehme ich an. Ich nahm an, dass dies eine Android-zentrierte Frage war, aber ich nehme an, dass sie auch für die Einheit gilt und außerdem allgemein hinzufügt.
Andrew S