5

所以我的问题是谷歌地图没有显示在我使用 3.2 API 的 android 设备上

在寻找这个问题的解决方案时,我已经尝试过大部分我在网上找到的建议。

我的清单里确实有<uses-permission android:name="android.permission.INTERNET"/>

我已经按照谷歌书面程序生成了一个签名密钥(http://developer.android.com/tools/publishing/app-signing.html#setup)并获得了所述密钥并将其放入布局中android:apiKey="0R8lbu8yQL1Wgw-13s5sUBXZXusi4mEY3EhqWWw"我仍然看到灰色瓷砖而不是地图。

我知道调试密钥适用于 AVD 但不适用于 android 设备,而签名密钥应该适用于设备而不是 AVD。

我愿意尝试另一个循序渐进的程序来完成这项工作,如果成功,我将永远感激不尽。

请帮忙!谢谢!

解决方案:

正在向设备安装错误的 apk。不得不做:

adb install <your-file-name>.apk

在控制台中

编辑:

Manifest File

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

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>



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

    <uses-library android:name="com.google.android.maps" />

    <activity
        android:name=".StartActivity"
        android:label="@string/title_activity_start">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>


    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >

    </activity>


    <service
      android:name=".WorldWideMapService"
      android:process=":remote">
      <intent-filter>
        <action
          android:name="com.example.googlemaps.WorldWideMapService" />
      </intent-filter>
    </service>

</application>

4

2 回答 2

5

我想更正您有关应用程序签名和映射 api 密钥的问题。

没有这样的事情,比如默认的 api 密钥只能与 avd 一起使用,而不是与设备一起使用。问题是,map api key 与 Signature KeyStore 相关联,由哪个应用程序签名,所以如果您使用 Default Key 签署应用程序,那么您应该使用默认 api 密钥。但是,如果您使用自己的密钥库签署应用程序,则应将新的密钥库注册到 google map api,并获取 api 密钥。要在 Google Play 上上传,我们需要使用其他密钥库而不是默认密钥库对应用程序进行签名,因此我们需要获取发布地图 API 密钥。

在您的情况下,我认为您正在使用默认密钥库对您的应用程序进行签名,而使用不同商店的 map api 密钥。

是的,问题可能就像@Raju 提到的那样。

于 2012-09-18T05:12:44.100 回答
1

在活动之前的清单文件和应用程序标签内添加这个

<uses-library android:name="com.google.android.maps" />
于 2012-09-18T05:10:42.217 回答