【问题标题】:Google Maps Not Showing On Android Device.谷歌地图未显示在 Android 设备上。
【发布时间】:2012-09-10 08:08:24
【问题描述】:

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

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

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

我已经按照 google 的书面程序生成了一个签名密钥 (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>

【问题讨论】:

    标签: android google-maps google-maps-api-3


    【解决方案1】:

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

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

    【讨论】:

    • 这样做了,但仍然出现灰色瓷砖。
    • 我试过了,但我会再试一次。我会让你知道结果。
    • 好的。所以它与我目前使用的钥匙完全相同。 0R8lbu8yQL1Wgw-13s5sUBXZXusi4mEY3EhqWWw。也许我在创建密钥库时搞砸了?
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 我不确定默认 api 密钥是什么意思。您是指我提到的调试 api 密钥吗?我尝试使用该密钥,然后在 android 设备上运行该应用程序,但我仍然得到灰色瓷砖。我已经尝试导出、签名、创建自己的密钥库以获取我使用过的新 api 密钥,但仍然得到灰色瓷砖。
    • 为您的应用程序密钥库创建地图 api 密钥。完成此操作后,在您的应用程序中使用该密钥生成 apk 文件并安装在您的设备中,它将正常工作。
    • 等等,输入map api key后生成apk文件。我在哪里保存apk文件?在 bin 文件夹中?
    • 选择android工具->导出签名的应用程序包,然后选择您要存储签名apk的任何文件夹。
    • 应用程序如何知道使用生成的 apk 文件?我已经在 bin 文件夹中有一个类似的名称。
    猜你喜欢
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多