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


88

私はこのチュートリアルに従っています: Android SDK内のアプリにGoogleマップを追加する方法についてのhttps://developers.google.com/maps/documentation/android/start#overview

私が持っているように見える唯一の問題はこのビットの間です(私はエラーなしで他のすべてを行いました):

Edit your application's AndroidManifest.xml file, and add the following declaration within the

 <application> element. This embeds the version of Google Play services that the app was compiled with.

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

The error is:
   No resources found that match the given name (at 'value' with value '@integer/    
   google_play_services_version').

私は同じ問題に対してこの人の解決策を試そうとしました:Google Play Services Libraryの更新とシンボル@ integer / google_play_services_versionの欠落

しかし、まだ同じエラーが発生します。何か助けてください?


Eclipseはあなたにそれについての悩みを与えた場合はこれをやってみてください:stackoverflow.com/a/19990244/166921
カミルSzot

回答:


100

ライブラリがプロジェクトに正しくリンクされていないか、古いgoogle-play-servicesライブラリバージョンがあるため、競合が発生し、Eclipseが愚かになった可能性があります。

integers.xmlに何も追加する必要はありません。Google-play-servicesライブラリをプロジェクトに適切にリンクすると、参照android:value="@integer/google_play_services_version"が見つかり、準備が整います。ライブラリをプロジェクトに追加するときは、もう1つクリーンでおかしいEclipse環境を適切にスイープアウトしてください。

次のプレイバージョンが来るときにこの番号をどこかにハードコードする場合は、更新する必要があります。そして、それを忘れると、バグを探すのに再び時間を費やすことになります。

お役に立てば幸いです。;)


1
うん、android studioでgoogle play serviceをモジュールとして(ライブラリとしてではなく)追加しましたが、このモジュールをマニフェストファイルがあるプロジェクトモジュールに追加するのを忘れていました。これは問題を解決しました:)
Ragaisis 2013年

18
おかげで、これで問題が解決しました。Eclipse / ADTでライブラリプロジェクトを参照するためのばかげていない段階的なガイドについては、Googleツールのドキュメントをご覧ください。「Java Build Path:Libraries」の下にライブラリを追加しようとしていたので、私は馬鹿であるようです-機能しません。
ジェフロ2013

返信が遅れて申し訳ありませんが、はい、これは問題でした。ライブラリがプロジェクトに適切にリンクされていませんでした。
Adz 2014年

1
Antでそれを行う方法は?
Dzmitry Lazerka 2014年

2
それが役立つ場合は、Android Studioでさらにいくつかの手順を実行する必要がありました。対象:プロジェクト構造->アプリ->依存関係-> +をクリックして、ライブラリの追加オプション-> play-services(xxx)。再構築するとエラーが発生し、追加されたライブラリはplay-services ... 0.0でした。Extrasの下のSDK ManagerにGoogle Playリポジトリがありませんでした。私が戻ってこれらの手順を繰り返したとき、ライブラリには実際のバージョン番号があり、正常に再構築されました。
natur3 2014年

36

私は解決策を得ました。

  • ステップ1:パッケージエクスプローラー(Eclipseの左側)でプロジェクトを右クリックします。
  • ステップ2:Androidにアクセスします。
  • 手順3:[ライブラリ]セクションで[ライブラリを追加...](google-play-services_lib)の
    下にあるビューを参照

    • ライブラリプロジェクトを

    <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/

    • Androidアプリプロジェクトを管理する場所に移動します。Eclipseを使用している場合は、ライブラリプロジェクトをワークスペースにインポートします。[ファイル]> [インポート]をクリックし、[Android]> [既存のAndroidコードをワークスペースへ]を選択し、ライブラリプロジェクトのコピーを参照してインポートします。
    • 詳細はこちらをクリックしてください
  • 手順4:[適用]をクリックします
  • ステップ5:[OK]をクリックします
  • ステップ6:パッケージエクスプローラーからアプリを更新します。
  • ステップ7:エラーが表示されなくなります。

30

ここから

開発ワークスペースにコピーしたライブラリのコピーを参照する必要があります。AndroidSDKディレクトリからライブラリを直接参照しないでください。

SDKディレクトリから元のコピーを参照したため、このエラーが発生しました。最初にライブラリをAndroidワークスペースにコピーし、それのみを参照するようにしてください。日食では、プロジェクトのインポート中に「プロジェクトをワークスペースにコピー」をチェックすることでそれを行うことができます。


3
aiaiai、このボックスをカチカチと音を立てなかったために時間を無駄にした...嬉しい私はこの答えを見つけました!Googleドキュメントでより明確にする必要があります。
Marius Hilarious 14

そして、それは私の問題
でした。googlelib

この修正は私にとってもうまくいきました。しかし、技術的に違いは何ですか?
sivag1 2014

Googleはスクリーンショットと手順をここで更新する必要があります:developer.google.com
+/mobile/android/getting-started

22

Android Studioでは、これをGradleファイルに追加するだけで修正できます。

compile 'com.google.android.gms:play-services:6.5.87'

編集

今、更新と新しいGradle APIのために、使用する必要がある行は次のとおりです。

implementation 'com.google.android.gms:play-services:12.0.0'

もう1つの重要なヒント:Google Play開発者サービスのバンドルバージョンの使用は避けてください。ただし、サイズを小さくし、不要なヒットを65kメソッドの制限に減らすためにアプリが必要とする依存関係のみを宣言することを検討してください。(マップの場合など)これは、上記の一般的な再生サービスの使用方法よりも優れています。

implementation 'com.google.android.gms:play-services-maps:12.0.0'

ありがとう-これは役に立ちました。私はこのチュートリアルを実行しようとしていますが、このエラーが発生し、ソリューションが助けになりました:github.com/googledrive/android-demos
Simon

1
Gradleの同期後、プロジェクトをクリーンアップするだけで、不足している整数エラーはなくなりました。これは、あまりにもうまく機能:compile 'com.google.android.gms:play-services-appindexing:7.8.0'
誰かどこか

2
私はそれが古いQ / Aであることを知っていますが、人々はまだそれを偶然見つけています。そのため、それを新しいAS3とGradle APIに更新し、バンドル全体ではなく特定のライブラリを使用したいという強調を強調することは理にかなっています。私は元の作者が気にしないことを望みます
Ewoks

7

ライブラリ参照を追加し、Propertes-> Androidに移動して、ライブラリを追加します。

ここに画像の説明を入力してください

次にあなたに追加 AndroidManifest.xml

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

3

Android Studio 1.2.1.1でも同じ問題が発生しました。それは他の答えが言ったようにちょうどライスでした、しかし、私は依存関係を追加する場所を見つけることができませんでした。最後に、[ファイル]-> [プロジェクト構造 ]- > [依存関係 ]の下にあります。このメニューには、Google Play Servicesライブラリに依存関係を追加するオプションがあります。


AS 1.2のあいまいなナビゲーションに関するヘルプの+1。ありがとうございました!私の場合、別の開発者から引き渡されたプロジェクトで作業していて、SDKマネージャー:$を使用してPlay Servicesライブラリの正しいバージョンを実際にインストールしたことがなかったのは、役に立ちませんでした。ライブラリをダウンロード/インストールしたら、戻って削除/追加すると、コンパイルエラーはなくなりました。
アンガン2015

2

このドキュメントに記載されているように4.0.30をインストールしてみてください:http ://developer.android.com/google/play-services/setup.html


2

私の場合、SDKマネージャーからgoogleリポジトリをインストールする必要がありました。


1

同じエラーが発生しました。以前にGoogleマップ用のgoogle-play-services_libをインストールしました(そしてそれは正常に機能していました)が、後でメタデータエントリをマニフェストに追加しようとすると、エラーが発生しました。上記の提案をすべて試しましたが、それらを適切にリンクするものはありませんでした。最後にプロジェクトからリンクを削除し(project-properties-Android、google-play-services_libライブラリを削除)、Eclipseワークスペースから削除し、ディスク上のファイルを削除し、最後にSDKマネージャーを使用して最初から再インストールしました。

これでようやくうまくいったようです。Eclipseは、メタデータエントリをエラーなしで残すことを許可することにしました。


同じエラーが発生しました。ワークスペースのgoogle-play-services libのコピーが古く(整数リソースが含まれていないため)、libを更新されたバージョンに置き換えるとうまくいきました。
Bianca Daniciuc 2014

0

ワークスペースを変更して、その問題を修正し、修正したプロジェクトをメインワークスペースにインポートして戻すことができます。また、4つのステップは、それが将来誰かを助けることを期待するためのものでなければなりません。


0

このエラーは、Google Play開発者サービスの新しいバージョンをダウンロードし、最新のSDKをインストールしていない場合にも発生する可能性があります。それが私に起こったことです。そのため、他の人が述べたように、Google Play開発者サービスをインポートしてコンソールを開こうとすると、コンパイルエラーが表示されます。最新のAndroid SDKをすべてインストールして、そうである場合は再試行してください。


0

私はこれから回復するために次の手順を実行しました:

1)Google Play開発者サービスをプロジェクトとしてAndroid SDKにインポートします。私のシステムでは、C:\ adt-bundle-windows-x86_64-20140702 \ sdk \ extras \ google \ google_play_services \ libproject \ google-play-services_libにあります

2)Androidアプリケーション->プロパティ-> Android

ウィンドウ内

2.1)プロジェクトのビルドターゲットでGoogle APIをクリックします。2.2)下のフレームにgoogle-playサービスを追加し、[OK]をクリックします。

それが何をすべきかについての明確な指示を与えることを願っています!!

ありがとう。


0

私の場合、アプリのソースコードの同じドライブにgoogle-play-services_lib FOLDERをコピーする必要がありました

  • F:\ Products \ Android \ APP * .java <-私のアプリはここにあるので、下のフォルダにコピーしました
  • F:\ Products \ Android \ libs \ google-play-services_lib

0

プロジェクトからgoogle play servicesライブラリを削除し、sdk->extras->googleフォルダからもう一度追加するだけで問題は完全に解決しました。


0

私の場合、Eclipseを再起動するだけで機能します。

私はそれをシャットダウンせずに2週間働いていました、それはまあまあのようになります。

Ewoksからの提案に感謝します!


0

バージョンコードをライブラリバージョンの適切なコードに置き換えると、次のように問題が解決します。

 <integer name="google_play_services_version"> <versioncode> </integer>


-37

プロジェクトの「res / values」フォルダーに「integers.xml」ファイルを追加する必要があります。ファイルの内容は..

<resources>
    <integer name="google_play_services_version">4030500</integer>
</resources>

6
決してそれをしないでください、それは動的ではありません。
panchicore

2
これはまったく間違っていることです。stackoverflow.com/a/20068489/1450294の
Michael Scheper 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.