【问题标题】:Google maps android V2 error at manifest [duplicate]谷歌在清单上映射android V2错误[重复]
【发布时间】:2015-03-12 01:18:40
【问题描述】:

有人请帮助我,我有项目来获取当前位置的纬度和经度。我从 androidhive 得到了这个项目。

当我编译它时,我得到了一个错误

java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4452000 but found 6587000.  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" />

这是我的 androidmanifest

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

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<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="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

<application
    android:name="com.koen_bfashion.image.AppController"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyTheme" >
    <meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >

        <meta-data
            android:name="android.app.default_searchable"
            android:value=".SearchResultsActivity" />

    </activity>
    <activity android:name="SplashScreen">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="LoginLayout"></activity>
    <activity android:name=".SearchResultsActivity" android:parentActivityName="com.koenb_fashion_fix.MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter>

        <meta-data
            android:name="android.app.searchable"
            android:resource="@xml/searchable" />
    </activity>
    <activity android:name="Tampil_Produk_Fragment"></activity>
    <activity android:name="Transfer_Layout"></activity>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyDG5xQBueWTP8GrXQbaRmnJdVZO73KwRAQ" />
    <activity android:name="MainActivity2"></activity>
</application>

</manifest>

我确定 API KEY 是正确的,我已经添加了

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

google-play-service-lib 的库是 22 我很困惑,谁能告诉我为什么我仍然得到这个错误?

【问题讨论】:

标签: android eclipse google-maps


【解决方案1】:

您还需要包含您的应用引用的 google play 服务版本。因此,只需添加对存储在 API_KEY 元数据下方的整数的引用。

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

【讨论】:

    【解决方案2】:

    只需要在manifest中添加gms版本信息即可:

       <activity>
         <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyDG5xQBueWTP8GrXQbaRmnJdVZO73KwRAQ" />
       <activity android:name="MainActivity2"></activity>
    
       <meta-data android:name="com.google.android.gms.version"    
       android:value="@integer/google_play_services_version" />
    </application>
    

    如果您没有在元数据中添加 android:name="com.google.android.gms.version" 则会获取错误的值并出现错误:

    您应用的 AndroidManifest.xml 中的元数据标签没有正确的值。预期为 4452000,但实际为 6587000

    【讨论】:

      【解决方案3】:

      尝试传递值 <meta-data android:name="com.google.android.gms.version" android:value="6587000" /> 但这可能会导致某些 api 出错

      【讨论】:

      • 我们应该避免添加常量值:android:value="6587000"
      • 是的,没错,您可以尝试将项目导入您的工作区(不要忘记复制到工作区)并将项目作为库添加到您的项目中。
      • 你是对的,但我的意思是,你应该使用 而不是: 可能指定 6587000 作为值可能会解决您的错误,但这不是正确的方法
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      相关资源
      最近更新 更多