wake-up-neo.com

Diese App wird erst ausgeführt, wenn Sie die Google Play-Dienste (über Bazaar) aktualisieren.

Ich teste die neue Google Maps API V2 für Android und erhalte diese Meldung, wenn die App gestartet wird:

MainActivity showing error message

Dies läuft auf einem 4.1 Emulator.

Hier ist mein AndroidManifest.xml Datei:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.example.maptest"
    Android:versionCode="1"
    Android:versionName="1.0" >

    <uses-sdk
        Android:minSdkVersion="8"
        Android:targetSdkVersion="15" />

    <permission
        Android:name="com.example.maptest.permission.MAPS_RECEIVE"
        Android:protectionLevel="signature"/>
    <uses-permission Android:name="com.example.maptest.permission.MAPS_RECEIVE"/>
    <uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission Android:name="Android.permission.INTERNET"/>
    <uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION"/>

    <!-- Require OpenGL ES version 2 -->
    <uses-feature
          Android:glEsVersion="0x00020000"
          Android:required="true"/>

    <application
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >

        <activity
            Android:name=".MainActivity"
            Android:label="@string/title_activity_main" >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            Android:name="com.google.Android.maps.v2.API_KEY"
            Android:value="##myapikey##"/>

    </application>
</manifest>

Datei MainActivity.Java:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

Datei activity_main.xml

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" >

    <fragment xmlns:Android="http://schemas.Android.com/apk/res/Android"
        Android:id="@+id/map"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        class="com.google.Android.gms.maps.MapFragment"/>
</RelativeLayout>

Wenn Sie auf "Aktualisieren" klicken, stürzt die App mit dem folgenden Stacktrace ab:

E/Trace(1034): error opening trace file: No such file or directory (2)
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
W/GooglePlayServicesUtil(1034): Google Play services out of date.  Requires 2010100 but found 1
D/gralloc_goldfish(1034): Emulator without GPU emulation detected.
D/AndroidRuntime(1034): Shutting down VM
W/dalvikvm(1034): threadid=1: thread exiting with uncaught exception (group=0x40a13300)

E/AndroidRuntime(1034): FATAL EXCEPTION: main
E/AndroidRuntime(1034): Android.content.ActivityNotFoundException: No Activity found to handle Intent
  { act=Android.intent.action.VIEW dat=http://play.google.com/store/apps/details? \
  id=com.google.Android.apps.Bazaar flg=0x80000 pkg=com.Android.vending }
E/AndroidRuntime(1034):     at Android.app.Instrumentation.checkStartActivityResult(Instrumentation.Java:1545)
E/AndroidRuntime(1034):     at Android.app.Instrumentation.execStartActivity(Instrumentation.Java:1416)
E/AndroidRuntime(1034):     at Android.app.Activity.startActivityForResult(Activity.Java:3351)
E/AndroidRuntime(1034):     at Android.app.Activity.startActivityForResult(Activity.Java:3312)
E/AndroidRuntime(1034):     at Android.app.Activity.startActivity(Activity.Java:3522)
E/AndroidRuntime(1034):     at Android.app.Activity.startActivity(Activity.Java:3490)
E/AndroidRuntime(1034):     at com.google.Android.gms.internal.c$2.onClick(Unknown Source)
E/AndroidRuntime(1034):     at Android.view.View.performClick(View.Java:4084)
E/AndroidRuntime(1034):     at Android.view.View$PerformClick.run(View.Java:16966)
E/AndroidRuntime(1034):     at Android.os.Handler.handleCallback(Handler.Java:615)
E/AndroidRuntime(1034):     at Android.os.Handler.dispatchMessage(Handler.Java:92)
E/AndroidRuntime(1034):     at Android.os.Looper.loop(Looper.Java:137)
E/AndroidRuntime(1034):     at Android.app.ActivityThread.main(ActivityThread.Java:4745)
E/AndroidRuntime(1034):     at Java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1034):     at Java.lang.reflect.Method.invoke(Method.Java:511)
E/AndroidRuntime(1034):     at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:786)
E/AndroidRuntime(1034):     at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:553)
E/AndroidRuntime(1034):     at dalvik.system.NativeStart.main(Native Method)

Ich habe auch auf das Google Play Services-Projekt verwiesen. Was mache ich hier falsch?

[~ # ~] Update [~ # ~]

Der entsprechende Fehler im Google Issue Tracker ( https://issuetracker.google.com/issues/35822258 ) wurde vor einiger Zeit behoben.

Jetzt können Sie Google Maps Android API im Emulator verwenden und virtuelle Geräte mit Play-Diensten erstellen, wie in dieser Antwort beschrieben:

https://stackoverflow.com/a/46246782/5140781

99
soren.qvist

Laut eine Diskussion mit Android Developers auf Google+ ist das Ausführen der neuen Map-API auf dem Emulator derzeit nicht möglich.

(Der Kommentar stammt von Zhelyazko Atanasov gestern um 23:18, ich weiß nicht, wie ich direkt darauf verlinken soll.)

Außerdem wird der Teil " (via Bazaar) " nicht angezeigt, wenn Sie von einem tatsächlichen Gerät aus ausgeführt werden. Über die Schaltfläche "Aktualisieren" wird der Play Store geöffnet. Ich gehe davon aus, dass Bazaar Google Play Services auf dem Android Emulator bereitstellen soll, aber es ist noch nicht fertig ...

42
nicopico

[~ # ~] Update [~ # ~]

Das Google Maps API v2 ist jetzt auf den neuesten Google-Systemimages installiert (api: 19 ARM oder x86)).
Ihre Anwendung sollte also nur mit den neuen Bildern funktionieren. Diese Dateien müssen nicht installiert werden.

Ich habe versucht, eine Android Google Maps V2-Anwendung unter einem Emulator auszuführen. Sobald Google Play Services endlich ausgeführt wurde, habe ich mein SDK auf Google Play Services Version 4 aktualisiert, und mein Emulator hat dies nicht getan starte meine Anwendung nicht mehr.

Ich habe jetzt herausgefunden, wie ich meinen Emulator von meinem Transformatortablett aktualisieren kann. (Sie benötigen kein Tablet, da Sie die folgenden Dateien herunterladen können.)

Ich habe mit Titanium Backup mein Asus Eee Pad Transformer (TF101) gesichert und mir dann das com.Android.vending und das com.google.Android.gms APK Dateien aus dem Backup.

Ich habe diese auf einem Emulator installiert, der mit folgender Plattform konfiguriert ist: 4.1.2, API-Level: 16, CPU (Intel/Atom x86), und meine Google Maps V2-Anwendung funktioniert wieder.

Das war alles ... keiner der anderen Schritte bezüglich/system/app war erforderlich.

Meine Anwendung verwendet nur die Google Maps-API. Zweifellos sind weitere Schritte erforderlich, wenn Sie andere Google Play-Dienste verwenden.

Neue Dateien für die neuesten Google Play-Dienste:

Dieselben Anweisungen wie zuvor: Erstellen Sie einen neuen Emulator mit einer beliebigen CPU / ABI , a Nicht-Google-API-Ziel (Versionen 10-19 funktionieren) und GPU Emulation ein oder aus, und installieren Sie dann die Dateien:

adb install com.Android.vending-20140218.apk
adb install com.google.Android.gms-20140218.apk

Wenn Sie einen vorhandenen Emulator aktualisieren, müssen Sie möglicherweise frühere Versionen deinstallieren:

adb uninstall com.Android.vending
adb uninstall com.google.Android.gms

Das ist alles.

55
Dan Brough

Ich habe ungefähr einen Tag damit verbracht, die neuen gmaps API (Google Maps Android API v2) auf dem Android Emulator zu konfigurieren. Keine der Methoden derjenigen, die ich im Internet gefunden habe, funktionierte für mich richtig. Aber ich habe es trotzdem getan. Hier ist, wie:

  1. Erstellen Sie einen neuen Emulator mit der folgenden Konfiguration:

Enter image description here

Bei den anderen Versionen konnte ich aufgrund verschiedener Fehler bei der Installation der erforderlichen Anwendungen keine Konfiguration vornehmen.

2) Starten Sie den Emulator und installieren Sie die folgenden Anwendungen:

  • GoogleLoginService.apk
  • GoogleServicesFramework.apk
  • Phonesky.apk

Sie können dies mit folgenden Befehlen tun:

2.1) adb Shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
2.2) adb Shell chmod 777 /system/app
2.3-2.5) adb Push Each_of_the_3_apk_files.apk /system/app/

Links zu APK-Dateien herunterladen . Ich habe sie von meinem gerooteten Gerät Android kopiert.

3) Installieren Sie Google Play Services und Google Maps auf dem Emulator. Ich habe die Fehlermeldung 491, wenn ich sie aus dem Google Play Store installiere. Ich habe die Apps auf den Emulator hochgeladen und die Installation lokal ausgeführt. (Sie können adb verwenden, um dies zu installieren). Links zu den Apps:

4) Nach diesen Schritten habe ich erfolgreich ein Demo-Beispiel auf dem Emulator ausgeführt. Hier ist ein Screenshot:

Google Maps

39
Paha

Ich beantworte diese Frage zum zweiten Mal, weil die Lösung, die ich versucht habe und die zuerst nicht funktioniert hat, jetzt funktioniert und ich die Schritte neu erstellen kann, damit sie funktioniert :)

Ich hatte auch das Gefühl, dass das Fehlen von Google Play Store ein Schuldiger ist. Daher habe ich versucht, Google Play Store auf dem Emulator zu installieren, indem ich auf diesen Link und diesen Link hingewiesen habe = kombiniert. Ich hatte einige Schwierigkeiten, aber am Ende konnte ich Google Play Store erfolgreich installieren und durch Herunterladen einer zufälligen App testen. Bei der Kartenaktivität wurde die Meldung jedoch weiterhin mit der Schaltfläche "Aktualisieren" angezeigt. Dieser Knopf würde mich zum Laden bringen, aber dort würde ich eine Nachricht über "Artikel nicht gefunden" erhalten und Karten funktionierten immer noch nicht. Zu diesem Zeitpunkt gab ich auf.

Gestern habe ich aus Versehen die gleiche Test-App gestartet und es hat funktioniert! Ich war sehr verwirrt, habe aber schnell einen Unterschied zu dem Emulator gemacht, in dem es funktioniert, und einen neuen, sauberen und ich habe zwei Apps auf dem funktionierenden in/data/app/directory bestimmt: com.Android.vending-1. apk und com.google.Android.gms-1.apk. Dies ist merkwürdig, da ich bei der Installation von Google Play Store nach Anweisungen von diesen Websites Phonesky.apk, GoogleServicesFramework.apk und GoogleLoginService.apk in einen anderen Ordner/ein anderes System/eine andere App verschoben habe.

Wie auch immer, jetzt funktioniert die Android Google Maps API v2 auf meinem Emulator. Dies sind die Schritte, um dies zu tun:


Erstellen Sie einen neuen Emulator

  • Wählen Sie für Gerät "5.1 '' WVGA (480 x 800: mdpi)"
  • Wählen Sie für Ziel "Android 4.1.2 - API Level 16"
  • Für "CPU/ABI" wählen Sie "ARM"
  • Überlassen Sie den Rest den Standardeinstellungen

Dies sind die Einstellungen, die für mich arbeiten. Ich weiß nicht für verschiedene.


Starten Sie den Emulator


installieren Sie com.Android.vending-1.apk und com.google.Android.gms-1.apk über den ADB-Installationsbefehl


Google Maps sollte jetzt in Ihrem Emulator funktionieren.

29

Ich habe eine (deutsche) Beschreibung erstellt, wie es funktioniert . Grundsätzlich benötigen Sie einen Emulator mit mindestens API-Level 9 und keinen Google-APIs. Dann müssen Sie die APKs von einem gerooteten Gerät erhalten:

adb -d pull /data/app/com.Android.vending-2.apk
adb -d pull /data/app/com.google.Android.gms-2.apk

und installiere sie im Emulator:

adb -e install com.Android.vending-2.apk
adb -e install com.google.Android.gms-2.apk

Sie können sogar die native Google Maps App ausführen, wenn Sie einen Emulator mit mindestens API-Level 14 haben und zusätzlich com.google.Android.apps.maps-1.apk Installieren.

Habe Spaß.

3
Kurt Huwig

Diese App wird erst ausgeführt, wenn Sie Google Play Services aktualisieren. Ich habe es so lange ausprobiert, aber trotzdem habe ich die Karte nicht erhalten ... Es wird nur ein leerer Bildschirm angezeigt, auch wenn ich meinen Google Play-Dienst geändert habe, der durch den folgenden Kommentar angegeben wird.


Überprüfen Sie die Manifestdatei Ihres Wiedergabedienstes und den Versionscode für die APK-Datei com.google.Android.gms. Im Folgenden ist es "3136110". Laden Sie diese APK-Dateien herunter und installieren Sie sie über eine DOS-Eingabeaufforderung. Führen Sie jedoch vor der Installation Ihren Zielemulator aus.

package="com.google.Android.gms"
Android:versionCode="3136110"
Android:versionName="3.1.36 (673201-10)

Ich habe diese APK-Dateien von diesen Link .

2
user

Ich habe versucht, ein Android Google Maps v2 unter einem Emulator auszuführen, und ich habe viele Möglichkeiten gefunden, dies zu tun, aber keine davon hat bei mir funktioniert. Ich habe immer diese Warnung im Logcat Google Play services out of date. Requires 3025100 but found 2010110 und wenn ich Google Play-Dienste auf dem Emulator aktualisieren möchte, ist nichts passiert. Das Problem war, dass com.google.Android.gms APK nicht mit der Version der Bibliothek in my Android) kompatibel war = SDK.

Ich habe diese Dateien "com.google.Android.gms.apk", "com.Android.vending.apk" auf meinem Emulator und meiner App installiert Google Maps v2 hat einwandfrei funktioniert. Keiner der anderen Schritte bezüglich/system/app war erforderlich.

2
Adil

Ich habe dieses Problem folgendermaßen gelöst:

  • Im Emulator:

    Sie müssen die neueste API Google APIs(Google Inc.)-API Level 19 verwenden.

    Machen Sie den Rest der Dinge, die im Screenshot selbst platziert sind.

    enter image description here

  • API-Schlüssel:

    Erstellen Sie einen neuen API-Schlüssel und überprüfen Sie sorgfältig den Google Map-API-Schlüssel und SHA Key.

  • Google Play Services:

    Sie müssen die neuesten Google Play-Dienste herunterladen com.Android.vending-4.8.20.apk . Wenn auf dieser Website die Google Play-Dienste nicht funktionieren, können Sie im Internet viele Websites mit dem Namen finden com.Android.vending 4.8.20.apk.

    sie können die Google Play-Dienste mithilfe der Eingabeaufforderung adb install com.Android.vending 4.8.20.apk ausführen.

    Hinweis: Sie müssen die neuesten Google Play-Dienste herunterladen, da die neueste Version von Jahr zu Jahr im Internet aktualisiert wird.

    Ausgabe :

    enter image description here

2
Stephen
 just change it to 

compile 'com.google.Android.gms:play-services-maps:9.6.0'
compile 'com.google.Android.gms:play-services-location:9.6.0'

das funktioniert bei mir aktuelle version ist 10.0.1

0
jagapathi

Ich habe eine nette Lösung gefunden, mit der Sie Ihre App im Emulator testen und auch nicht auf die ältere Version der Bibliothek zurückgreifen müssen. Siehe eine Antwort auf die Frage zum Stapelüberlauf Ausführen von Google Maps v2 auf dem Android Emulator .

0

Installieren Sie in Android SDK Manager: Extras: Google Play-Dienste

0
Franck

Nach dem Update auf ADT 22.0.1 gab der Google Maps-Dienst aufgrund von Android= Private Libraries) einen Fehler aus und die App stürzte ab. Also fand ich die Lösung endlich und es funktionierte für mich.

Installieren Sie einfach die Google Play-Servicebibliothek und gehen Sie zu google-play-service/libproject/google-play-services_lib von https://www.dropbox.com/sh/2ok76ep7lmav0qf/9XVlv61D2b. Importieren Sie das in Ihren Arbeitsbereich. Bereinigen Sie Ihr Projekt, in dem Sie gogole-play-services-lib verwenden möchten, und erstellen Sie es dann erneut. Gehen Sie zu Project -> Properties -> Java BuildPath) -> wähle "Android Private Libraries, Android Dependencies, google-play-service"

Gehen Sie in den Eigenschaften selbst zu Android und wählen Sie dann eine der Versionen aus. Wählen Sie dann "Hinzufügen" und "Google-Play-Service-Lib" und klicken Sie auf "Übernehmen" und dann auf "OK".

Zum Schluss gehen Sie zu Projekt -> Android Tools -> Android Support Libraries. Akzeptieren Sie die Lizenz und führen Sie Ihr Projekt nach der Installation aus.

Es wird gut funktionieren.

0
Honey Shah