我正在为Android开发谷歌地图应用程序.
但是,不知怎的,我的应用程序崩溃给出了如下错误:
java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist.
Run Code Online (Sandbox Code Playgroud)
这是我的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>
Run Code Online (Sandbox Code Playgroud)
日志: -
01-09 12:29:35.249: E/AndroidRuntime(7448): Caused by: java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)
我正在使用谷歌地图这个应用程序我该如何解决这个问题?
Rag*_*dan 53
在清单的应用程序标签中缺少以下内容.这是更新谷歌播放服务的新要求.
检查主题将Google Play服务版本添加到应用的清单@
https://developers.google.com/maps/documentation/android/start
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)
删除它
<permission android:name ="com.example.locations.permission.MAPS_RECEIVE" android:protectionLevel="signature"></permission>
Run Code Online (Sandbox Code Playgroud)
不需要
Google地图入门 https://developers.google.com/maps/documentation/android/start
指南说:
将Google Play服务版本添加到您应用的清单中
编辑应用程序的AndroidManifest.xml文件,并在元素中添加以下声明.这会嵌入应用程序编译的Google Play服务版本.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)
Google Map V2在AndroidManifest.xml中添加了新功能.您需要在标记内添加此元application标记
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)
小智 6
尝试在Manifest文件上添加以下元数据标记,它正常工作.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)
当Google Map V2使用Google Play 服务时,您需要保持更新。最新的 google play 服务需要一个version名称,可以使用<meta-data .. />inside来提及AndroidManifest.xml。可以通过以下两种方式解决_
1.meta-data在您的应用程序内部添加以下标签AndroidManifest.xml
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)
该值位于您的Google Play services库中(res -> values -> version.xml)
2. 直接添加版本代码如
<meta-data android:name="com.google.android.gms.version" android:value="4030500" />
Run Code Online (Sandbox Code Playgroud)
4030500是版本代码,存储在里面
google-play-services_lib>res>值>version.xml
喜欢
<integer name="google_play_services_version">4030500</integer>
Run Code Online (Sandbox Code Playgroud)