Android Emulator上的Google Map V2

时间:2013-05-10 09:12:31

标签: android

实施Google Map API时,我得到了空白屏幕和这些日志:

无法找到com.google.android.gsf.gservices的提供商信息

无法找到com.google.settings

的提供商信息

我觉得我的钥匙有问题。因为当我改变钥匙。我上面还有相同的日志。我用SHA1获得了我的密钥。 这是我的清单

  <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.mapdemo"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <permission
        android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.mapdemo.MainActivity"
            android:label="@string/app_name" >
            <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="abcdef"/>
    </application>

     </manifest>

这是我的日志:

05-10 15:57:00.460: E/ActivityThread(1168): Failed to find provider info for com.google.settings
05-10 15:57:00.480: E/ActivityThread(1168): Failed to find provider info for com.google.settings
05-10 15:57:00.670: D/dalvikvm(1168): GC_CONCURRENT freed 300K, 3% free 11260K/11591K, paused 80ms+4ms, total 145ms
05-10 15:57:00.670: D/dalvikvm(1168): WAIT_FOR_CONCURRENT_GC blocked 13ms
05-10 15:57:00.780: E/ActivityThread(1168): Failed to find provider info for com.google.android.gsf.gservices
05-10 15:57:00.790: E/ActivityThread(1168): Failed to find provider info for com.google.android.gsf.gservices

4 个答案:

答案 0 :(得分:4)

  

Android模拟器上的Google Map V2

目前,仿真器不支持Maps V2。

答案 1 :(得分:2)

是的,这是可能的。我在15分钟内安装,验证并发布了这个消息。

在此处查看重复的问题: Running Google Maps v2 on the Android emulator

安装后,Google Maps v2正在处理我的模拟器图像。我发现的一个轻微的皱纹(可能不是问题)是在尝试安装两个必需的APK时,使用Google API运行模拟器图像时返回“失败:已经安装”。选择相同的SDK版本,不使用Google API,然后手动安装两个必需的APK,并且地图可见。

快乐地图。

答案 2 :(得分:0)

目前,参考 Google Android地图Api v2 ,您无法在Android模拟器上运行google maps v2;您必须使用设备进行测试。

但如果您没有真正的测试设备或手机,可以在下面执行此操作

您需要尝试使用Google API版本的模拟器。每个平台都有两个版本Android和Android + Google API。

确保在创建AVD时,在目标字段中选择Google API版本。

这也很有帮助:http://developer.android.com/google/play-services/setup.html#ensure

以下是我在下面列出的步骤,以便在您的Android上启用Google地图

创建新的模拟器

  • for device选择“5.1''WVGA(480 x 800:mdpi)
  • for target选择“Android 4.1.2 - API level 16
  • 表示“CPU / ABI”选择ARM
  • 将休息保留为默认值

这些是适合我的设置。我不知道不同的。

启动模拟器

通过ADB install命令安装com.android.vending-1.apkcom.google.android.gms-1.apk

Google地图应该可以在您的模拟器中使用。请评论是否适合您?

答案 3 :(得分:0)

在这种情况下,请检查您的播放服务清单文件,并检查apk文件com.google.android.gms的版本代码。在下面它是&#34; 3136110&#34; .download这些apk文件并从dos提示符安装,但在安装之前运行目标模拟器。

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

我正在提供一个链接http://ge.tt/9x9n4lg,我从中获取了这些apk文件,希望它能帮到你