Android 谷歌地图在应用程序签名后未加载?如何解决这个问题?
大家好,我创建了一个Android应用程序,它显示谷歌地图并在谷歌地图上设置标记。在我签署该申请之前,该申请一直运作良好 我的问题是在签署应用程序后,谷歌地图没有被加载 有什么问题 我使用谷歌Api v2和地图片段来查看地图 这是我的舱单代码Android 谷歌地图在应用程序签名后未加载?如何解决这个问题?,android,google-maps,google-maps-api-2,supportmapfragment,mapfragment,Android,Google Maps,Google Maps Api 2,Supportmapfragment,Mapfragment,大家好,我创建了一个Android应用程序,它显示谷歌地图并在谷歌地图上设置标记。在我签署该申请之前,该申请一直运作良好 我的问题是在签署应用程序后,谷歌地图没有被加载 有什么问题 我使用谷歌Api v2和地图片段来查看地图 这是我的舱单代码 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/andro
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.tranzlogix_map"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="19" />
<permission
android:name="example.tranzlogix_map.permission.MAPS_RECEIVE"
android:protectionLevel="signature"></permission>
<uses-permission
android:name="example.tranzlogix_map.permission.MAPS_RECEIVE"/>
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission
android:name="android.permission.INTERNET"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<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/goo"
android:label="@string/app_name"
android:theme="@style/Translucent" >
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyB6ut74Pvg8T2rs7jg5GSjD6Es4beyxSYI"/>
<activity
android:name="example.tranzlogix_map.LoginActivity"
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="example.tranzlogix_map.HelpActivity"
android:label="@string/app_name" >
</activity>
<activity
android:name="example.tranzlogix_map.MainActivity"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
在您的
元数据下添加此元数据
:
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
-----------编辑-------------------
这是您的清单,以及所需的元数据和权限如果仍有错误,请将其添加到已编辑的问题中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.tranzlogix_map"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<permission
android:name="example.tranzlogix_map.permission.MAPS_RECEIVE"
android:protectionLevel="signature"></permission>
<uses-permission
android:name="example.tranzlogix_map.permission.MAPS_RECEIVE"/>
<uses-permission
android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission
android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<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/goo"
android:label="@string/app_name"
android:theme="@style/Translucent" >
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyB6ut74Pvg8T2rs7jg5GSjD6Es4beyxSYI"/>
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name="example.tranzlogix_map.LoginActivity"
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="example.tranzlogix_map.HelpActivity"
android:label="@string/app_name" >
</activity>
<activity
android:name="example.tranzlogix_map.MainActivity"
android:label="@string/app_name" >
</activity>
</application>
</manifest>
map的最低API级别为8,因此您需要将minSdkVersion
更改为8
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE" />`
`
基于调试证书的SHA1散列,您可能仍然拥有Google maps API密钥
在为发布版签署应用程序后,您必须根据发布证书的SHA1散列设置地图API密钥
请参见显示发布证书指纹
获取Release SHA1哈希,生成API密钥并将其设置为清单中的密钥是否尝试导入'google-play-services'
?导入不同版本的google play services时可能会出现问题。我先导入了v29,但不起作用,所以有时候你只能保持低水平。我是通过使用v12获得的。我尝试添加此元数据值,但它会抛出错误,如果您不介意,请更改我清单中的元数据并将其发布在此处。。谢谢,请检查编辑的部分。希望它能起作用,如果没有,请更新logcat错误我没有收到任何错误…仍然在google map的位置显示灰色。当我签署应用程序时,sha指纹已更改,我已在google api控制台中使用该sha和我的软件包名称创建了一个新的安卓密钥..之后该怎么办..我是否必须使用生成的api密钥在我的舱单上…仍然很困惑。。。。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE" />`