Android 谷歌地图在应用程序签名后未加载?如何解决这个问题?

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

大家好,我创建了一个Android应用程序,它显示谷歌地图并在谷歌地图上设置标记。在我签署该申请之前,该申请一直运作良好

我的问题是在签署应用程序后,谷歌地图没有被加载

有什么问题

我使用谷歌Api v2和地图片段来查看地图

这是我的舱单代码

       <?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" />`