Android google maps v2未使用签名发布密钥加载

时间:2014-06-02 09:56:05

标签: android eclipse google-maps android-maps-v2

我在我的应用程序中使用Google map v2。

我创建了一个自定义密钥库(发布密钥),并使用我从这里创建SHA1的同一个密钥库(SHA-1 fingerprint of keystore certificate),然后生成了映射的api密钥。现在我使用eclipse使用上面的密钥库对apk进行签名,但是地图没有显示在设备上。

注意:使用debug.keystore可以正常运行地图。问题是当我使用自定义版本密钥库签署apk时。

我确保 Google Maps Android API v2 服务已启用。

请告诉我实施方面出错的地方。提前谢谢。

清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.mapsdemo"
android:versionCode="2"
android:versionName="1.1" >

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

<!-- Required OpenGL ES 2.0. for Maps V2 -->
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

 <permission
    android:name="com.test.mapsdemo.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:xlargeScreens="true" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.test.mapsdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Black.NoTitleBar" >

   <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyBBhuw2xpWMxTH335vZbYLtUQIyti*****" />

     <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

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

    <activity
        android:name=".SplashScreen"
        android:configChanges="orientation|screenSize" >
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".SearchActivity"
        android:label="@string/app_name"
        android:windowSoftInputMode="adjustPan" >
    </activity>
    <activity
        android:name=".MapLocationActivity"
        android:configChanges="orientation|screenSize"
        android:launchMode="singleTask" >
    </activity>
    <activity android:name=".HelpActivity" >
    </activity>
    <activity
        android:name=".AddressListActivity"
        android:configChanges="orientation|screenSize"
        android:launchMode="singleTask" >
    </activity>
    <activity
        android:name=".ConfigureUrlActivity"
        android:configChanges="orientation|screenSize" >
    </activity>
</application>

1 个答案:

答案 0 :(得分:0)

确保当您尝试发布并签署您的apk时,您使用在流程结束时显示的SHA1,并在您的google API控制台中使用该SHA1,并且原因是,请确保该包名称相同您的应用以及创建API密钥时在Google API控制台中

祝你好运