地图仅出现在调试模式下

时间:2014-12-19 13:57:13

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

我的地图仅在调试模式下显示,当我在其他设备上安装应用程序时,不会显示地图。我研究了它并意识到我有一个调试密钥和一个用于生产的密钥。我不知道如何做到这一点,谷歌控制台只能有Android应用程序的API密钥。 这是我的清单:

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

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="21"/>

    <uses-permission android:name="android.permission.INTERNET"/>
    <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-permission android:name="app.akexorcist.googlemapsv2direction.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <permission 
        android:name="app.akexorcist.googlemapsv2direction.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher_app"
        android:label="@string/app_name"  >
        <activity
            android:name="mypackage.Main"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name=".Search" ></activity>

        <meta-data
           android:name="com.google.android.maps.v2.API_KEY"
           android:value="myapykey" />      
    </application>
</manifest>

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您的地图密钥与签名密钥相关联。

您的调试应用程序可能使用一个密钥和您的生产应用程序与另一个密钥进行签名。

如果是这样,您需要在应用程序中有两个映射键,一个用于调试,另一个用于生产。因此,您可以在API控制台中创建两个映射键(每个签名键一个)。

将两个密钥放在您的清单中,但注释掉您不使用的密钥, 因此,在发布之前,请注释调试映射键并取消注释生产。

请确保在发货前检查生产APK :)讨厌生产没有地图的产品。