应用程序的AndroidManifest.xml中不存在所需的元数据标记。

应用程序的AndroidManifest.xml中不存在所需的元数据标记。,android,xml,Android,Xml,我正在为android开发谷歌地图应用程序 但是,不知何故,我的应用程序崩溃,出现如下错误: java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist. 这就是我的AndroidManifest.xml的外观:- <?xml version="1.0" encoding="utf-8"?> <manifest xmln

我正在为android开发谷歌地图应用程序

但是,不知何故,我的应用程序崩溃,出现如下错误:

java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist.  
这就是我的AndroidManifest.xml的外观:-

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <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"/>
  <permission android:name ="com.example.locations.permission.MAPS_RECEIVE" android:protectionLevel="signature"></permission>

  <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.locations.MainActivity"
            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="AIzaSyAZhJllASbTnrFta8hj55shKydSi0ks824"/>

    </application>

</manifest>
日志:-

我正在为这个应用程序使用谷歌地图
如何解决此问题?

清单的应用程序标记中缺少以下内容。这是更新后的google play服务的新要求

检查将Google Play服务版本添加到应用程序清单的主题@

去掉这个

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

不需要

谷歌地图入门

导游说:

将Google Play services版本添加到应用程序清单中

编辑应用程序的AndroidManifest.xml文件,并在元素中添加以下声明。这嵌入了应用程序编译时使用的Google Play服务版本

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

尝试在清单文件中添加以下元数据标记,它工作正常

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

Google Map V2在AndroidManifest.xml中添加新功能。您需要在应用程序标记中添加此元标记


无需许可:

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

包含谷歌服务的标签可能会起到作用。

尝试清理您的项目,选择“项目>项目选项卡>清理”

我用这个解决了我的问题。清洁是大多数问题的解决方案。

如果您更新google play服务,您也需要更新您的res/values标签。

使用时,您需要保持更新。 最新的google play服务需要一个版本名,可以在AndroidManifest.xml中使用。这可以通过以下两种方法解决

一,。在AndroidManifest.xml的应用程序标记中添加以下元数据

4030500是存储在内部的版本代码

google-play-services_lib>res>values>version.xml


你必须加上这一行

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

我需要在google_play_services_版本中提到什么?这一行仅用于Android Studio您可以使用Eclipse,当时用于google play service lib文件我删除了权限标签。这确实解决了错误。我需要按原样放置还是用其他东西替换google_play_services_版本else@user3146095否。请按照以下说明操作:。您需要添加:作为元素的子元素!感谢您实际提到它需要使用第一种方法进入inI的哪个部分,它工作得很好。我还从@integer/google\u play\u services\u version交叉检查了我的版本,得到了想要的结果。但对于一些用户来说,它仍然在生产中崩溃。有什么意见吗?
<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
<permission android:name="com.example.locations.permission.MAPS_RECEIVE"                       android:protectionLevel="signature"></permission>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<meta-data android:name="com.google.android.gms.version" android:value="4030500" />
<integer name="google_play_services_version">4030500</integer>
 <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
in AndroidManifest.xml  <application>