web-dev-qa-db-ja.com

AndroidManifestのGoogle Play Services v13エラーメタデータ

私のアプリは位置情報にGoogle Play開発者サービスを使用しています。また、Googleマップを使用しています。今日までは正常に機能していましたが、Eclipseの更新とGoogle Play Services v13のインストール後、機能しなくなりました。今日、私はいくつかの更新を行いました。 -Android SDKツールを22.3に更新-Android SDKプラットフォームツールを19に更新-Android SDK Build-toolsを19-Google Play開発者サービスが13に更新されましたADTも更新されました

アプリケーションを起動すると、次のエラーメッセージが表示されます。

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

私はGoogle Play Servicesで何度か仕事をしてきましたが、このアプリは今までうまく機能していました。マニフェストにメタデータを含めませんでした。

アプリマニフェストにメタデータタグを含む問題を修正しようとしましたが、機能していません。現在、私のアプリマニフェストは次のようになっています(これは、マニフェストが機能したときにアプリに含まれていたものと同じものです)。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.myapp.app"
Android:versionCode="2"
Android:versionName="1.0.1" >

<uses-feature
Android:glEsVersion="0x00020000"
Android:required="true" />

<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="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" />
<permission
Android:name="com.myapp.app.permission.MAPS_RECEIVE"
Android:protectionLevel="signature" />

<uses-permission Android:name="com.myapp.app.permission.MAPS_RECEIVE" />

<supports-screens Android:requiresSmallestWidthDp="320" />
<supports-screens Android:compatibleWidthLimitDp="394" />


<uses-sdk
Android:minSdkVersion="16"
Android:targetSdkVersion="18" />

<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/CustomizedTheme" >

<meta-data
Android:name="com.google.Android.maps.v2.API_KEY"
Android:value="thecode" />

<activity
Android:name="com.myapp.app.ActivityMain"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
    </activity>
</application>

</manifest>

この問題はgoogle-play-servicesマニフェストによるものだろうか?

これは私が見つけたマニフェストです:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.google.Android.gms"
Android:versionCode="4030530"
Android:versionName="4.0.30 (889083-30)" >

<uses-sdk Android:minSdkVersion="8"/>

</manifest>

Google Play Servicesを使用するには、これまでと同様に、Googleからの指示に従いましたが、現在まで問題は見つかりませんでした。

32
user2270655

Googleマップスタートガイド のコメント:

Google Play開発者サービスバージョンをアプリのマニフェストに追加します

アプリケーションのAndroidManifest.xmlファイルを編集し、要素内に次の宣言を追加します。これは、アプリがコンパイルされたバージョンのGoogle Play開発者サービスを埋め込みます。

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

google play service revision 13を使用する場合、次のメタタグを配置する必要があります。

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

しかし、Android 2. *。のような低レベルのAPIでは動作しません。この問題を解決するには、最初にfrayoリビジョン12のGoogle Playサービスをインストールして使用します。すべてのAPIレベルで動作します

7
user3051435

@Javier「Android developer blog」の投稿を見ましたか?彼らは先週、Google Playサービスアプリを更新しました。そのため、バージョンコードは現在libに適しています。うまくいきます。現在、「google-play-service-lib」の最新バージョンを使用できます。私はそれをテストし、それが動作します!こちらをご覧ください http://Android-developers.blogspot.kr/2014/01/google-play-services-41.html

1
cmcromance