为什么在我从Play商店下载我的应用程序时谷歌地图不显示?

为什么在我从Play商店下载我的应用程序时谷歌地图不显示?

问题描述:

  • 我开发了一个与谷歌地点相关的小应用程序。
  • 地图正在显示,当我直接从我的PC上运行应用程序到手机时,一切正常,但是当我上载同一个应用程序在我的个人帐户的Play商店,并且当我下载时,地图不显示。 - 与SH1指纹相关的问题还是与地图密钥相关?
  • 请帮助我的朋友,因为我没有找到任何解决方案,虽然我在谷歌搜索中输入适当的关键字。为什么在我从Play商店下载我的应用程序时谷歌地图不显示?

  • 请多关照

我的清单文件:

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

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

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

    <uses-permission android:name="com.example.maps.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
    <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/logo" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.maps.CurrentLocationMainActivity" 
      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="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-jbt0" /> 
     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
    </application> 

</manifest> 
+0

你有没有创建API密钥与发布密钥存储? – 2014-09-20 04:38:41

你必须使用ReleaeKey为谷歌地图发布应用程序,否则将desplay地图空白页beause你使用直接从PC调试应用程序时运行的调试密钥。 所以使用释放键。

这样来做:

  C:\Program Files\Java\jdk1.6.0_45\bin>keytool -genkey -v -keystore "C:\Users\cp 
01\.android\releasekey.ketstore" -alias release_alias -keyalg RSA -keysize 2048 
-validity 10000 
Enter keystore password: 
Re-enter new password: 
What is your first and last name? 
[Unknown]: 
What is the name of your organizational unit? 
[Unknown]: 
What is the name of your organization? 
[Unknown]: 
    What is the name of your City or Locality? 
[Unknown]: 
What is the name of your State or Province? 
[Unknown]: 
What is the two-letter country code for this unit? 
[Unknown]: 
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct? 
[no]: yes 

    Generating 2,048 bit RSA key pair and self-signed certificate (SHA1withRSA) wit 
a validity of 10,000 days 
    for: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknow 

    Enter key password for <release_alias> 
    (RETURN if same as keystore password): 
Re-enter new password: 
[Storing C:\Users\cpc01\.android\releasekey.ketstore] 



    C:\Program Files\Java\jdk1.6.0_45\bin>keytool -list -alias release_alias -keyst 
    re c:\Users\cpc01\.android\releasekey.ketstore 
Enter keystore password: 
release_alias, Jul 25, 2013, PrivateKeyEntry, 
Certificate fingerprint (MD5): 6A:CA:68:3D:E9:9F:B9:15:22:2A:AB:01:30:82:CC:2A 

C:\Program Files\Java\jdk1.6.0_45\bin>keytool -list -v -alias release_alias -ke 
store c:\Users\cpc01\.android\releasekey.ketstore 
Enter keystore password: 
Alias name: release_alias 
Creation date: Jul 25, 2013 
Entry type: PrivateKeyEntry 
Certificate chain length: 1 
Certificate[1]: 
Owner: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 
Issuer: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 
Serial number: 51f0c02c 
Valid from: Thu Jul 25 11:35:32 IST 2013 until: Mon Dec 10 11:35:32 IST 2040 
Certificate fingerprints: 
    MD5: 6A:CA:68:3D:E9:9F:B9:15:22:2A:AB:01:30:82:CC:2A 
    SHA1: 0F:8A:3C:6A:8F:41:CD:B4:F5:12:85:0D:B6:01:D9:30:E6:5D:28:64 
    Signature algorithm name: SHA1withRSA 
    Version: 3 

这是制作发行密钥库的compplete过程和生成SHA1 fingreprint,现在增加这个SHA1代码注册APP谷歌API控制台上。

接受并投票答案,如果发现有用,谢谢。

+0

是否可以从Google API控制台或其他位置使用? – 2014-09-20 04:39:05

+0

你能提供任何链接... – 2014-09-20 04:45:06

*当我们上传一个APK Play商店,我们应该要求以签署的apk和烫伤的APK后的SHA1指纹将有所改变,在谷歌地图V2需要从谷歌控制台有获得一个关键,我们需要SHA1指纹,这样你们应该通过新的SHA1指纹再次创建Google地图键。通过以下流程获取新的SHA1

1.签名了一个apk。

2.again走相同的过程中你会看到新的SHA1

3.Now创建一个新的密钥并粘贴您的项目

4.and不要再次报名中。

5.finally上传

见下面我上传的续集所有的PIC看到新SGA1 * enter image description here

enter image description here

enter image description here

enter image description here