为什么在我从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>
你必须使用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控制台上。
接受并投票答案,如果发现有用,谢谢。
是否可以从Google API控制台或其他位置使用? – 2014-09-20 04:39:05
你能提供任何链接... – 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 *
你有没有创建API密钥与发布密钥存储? – 2014-09-20 04:38:41