web-dev-qa-db-ja.com

LogCatメッセージ:Google Playサービスのリソースが見つけられませんでした。プロジェクト構成を調べて、リスクが含まれていることを確認してください。

Google Maps Android v2 APIを使用するアプリケーションがあります。 google-play-services_libライブラリプロジェクトを自分のワークスペースに追加し、これらのページの指示に従って、自分のアプリケーションプロジェクトからそれへの参照を追加しました。

このアプリは地図とオーバーレイをデフォルトのマーカーで表示します。それで、私はGoogle PlayサービスとGoogle Maps APIのものが正しくセットアップされたことを確信しています。

しかし、私はマップビューが初期化されるときはいつでもADT LogCatウィンドウでこのメッセージを見ます(第二世代Nexus 7で):

The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.

メッセージレベルはError、タグはGooglePlayServicesUtilです。

私のアプリはうまく動作するので、これは無害なようです。しかし、私は何ができますか問題があるかもしれないものに対処しようとするために試すことができますか?


詳しい情報:LogCatに "Google Playサービスリソースが見つかりませんでした"というメッセージが表示されるたびに、警告とResourceTypeというタグの付いたメッセージが表示されます。

getEntry failing because entryIndex 906 is beyond type entryCount 3

Failure getting entry for 0x7f0b038a (t=10 e=906) in package 0 (error -2147483647)

FWIW、gen/R.Javaファイルを含め、プロジェクトを検索するときに定数0x7f0b038aが見つかりません。

生成された.apkの内容を確認しました。google-play-services_lib/resディレクトリにあるすべてのリソースが含まれています。


もう1つの更新:ActionBarSherlockを追加し、マニフェストのtargetSdkVersionを8から17に更新した後、LogCatの出力に別のエラーが表示されるようになりました。

Could not find class 'maps.af.k', referenced from method 'maps.ag.an.a'

この問題の詳細については、こちらを参照してください。 Google MapsはAndroid上では正常に動作しますが、メソッドmaps.zから参照されるエラー「クラス 'maps.i.kが見つかりませんでした」が表示されます.ag.a "

またしても、このアプリはうまく機能しているようです。たぶん、これらの「エラー」を無視しても安全ですか?

312

これはGoogle Playサービスライブラリのバグで、ここでは 第755号 で報告されています。

残念ながら、まだ解決策はありません。

48
Hisham Muneer

Google Mobile Ads SDKのよくある質問 には次のように記載されています。

「Google Playサービスのリソースが見つかりませんでした」というエラーが表示され続けます。プロジェクト構成をチェックして、リソースが含まれていることを確認してください。 '

このメッセージは無視してかまいません。アプリはまだバナー広告を取得して配信します。

そのため、google-play-services_libを正しくインクルードしたときに広告が表示されても、心配する必要はありません(と思います)

88
grebulon

私は今朝この問題に遭遇したばかりで、私のアプリケーションが今日までうまく機能していたので非常に奇妙に思えました。私はまったく同じ「Google Playサービスのリソースが見つかりません...」というメッセージを受け取りました。

自分の現在地を取得できるかどうかを確認するために、通常のGoogleマップアプリケーションを開いてみましたが、見つかりませんでした。 5分待った後でも、通常はセルタワーを介してサービスプロバイダーからでも場所を取得するのに十分な時間を超えています。だから私は位置情報サービスをチェックした。

とにかく、問題は位置情報サービス - >Google位置情報サービス確認されませんでした。他の2つの位置オプションはチェックされました(VZW位置情報サービスおよびスタンドアロンGPSサービス)、しかし最後のもの、Google Location Servicesはそうではありませんでした。それをオンにした後、通常のGoogleマップは私の場所を見つけ、私のアプリケーションは私の場所を見つけることができ、問題は解決しました。

エラーメッセージは次の理由でポップアップ表示されます。

mMap.setMyLocationEnabled(true);

google Location Servicesが有効になっていない場合.

さらにテストを行った後、現在の場所がnull(すべてのソースから判断できるわけではない)の場合は、setMyLocationEnabledをオンにしようとするとこのエラーが発生します。

36
shroge

Google Playサービスのリビジョン14ライブラリを逆コンパイルしました。 com.google.Android.gms.common.GooglePlayServicesUtil.classにバグがあると思います。前述の文字列は一箇所にのみ現れます。

public static int isGooglePlayServicesAvailable(Context context) {
    PackageManager localPackageManager = context.getPackageManager();
    try {
        Resources localResources = context.getResources();
        localResources.getString(R.string.common_google_play_services_unknown_issue);
    } catch (Throwable localThrowable1) {
        Log.e("GooglePlayServicesUtil", "The Google Play services resources were not found. "
                + "Check your project configuration to ensure that the resources are included.");
    }
....

R.classパッケージにはcom.google.Android.gms.commonはありません。

import com.google.Android.gms.R.string;がありますが、string.somethingの使用法はないので、これがエラーだと思います - import com.google.Android.gms.R;があるはずです。

それにもかかわらず、isGooglePlayServicesAvailableメソッドは意図したとおりに動作しますが(その警告をログに記録することを除いて)、そのクラスには他にもインポートされていないR.classを使用するメソッドがあります。私のアプリケーションのバナーはうまくいきますが...

32
kreker

google-play-services-libをライブラリプロジェクトとして追加する必要があります。彼らは SDK を更新しました。いくつかのチュートリアルがあります。 Eclipse の場合は簡単です。

Right click project -> properties -> Android

Enter image description here

より詳細なチュートリアルについては、

library-projectのインポート

エミュレータ上でGoogleMapsを動かす方法

20
bofredo

私もこの問題を抱えていました。私がそれを解決した方法は以下の通りでした:

  1. Google-play-services_lib library-projectを削除します。
  2. [あなたのプロジェクト]> [プロパティ]> [Android]で、(現在無効になっている)google-play-services_lib参照を削除します。
  3. Android-sdk-x/extras/google_play_services/libprojectからgoogle-play-services_lib library-projectをインポートしました。プロジェクトをインポートすると、[プロジェクトをワークスペースにコピー]オプションが表示されます。 ITのチェックを外します。
  4. [現在のプロジェクト]> [プロパティ]> [Android]を使用して、(現在有効な)google-play-services_lib参照をプロジェクトに追加します。

これは私にとってトリックでした。私はそれがあなたにも役立つことを願っています!

12
mDroidd

Admob JUSTを使用しているときは、広告ユニットIDを@stringに書き忘れていたため、この問題に遭遇しました。

4
Simon Pan

私にとっての唯一の有効な解決策は同様にAndroid-support-v7-appcompatライブラリを追加することでした。このライブラリはそのメッセージを取り除くためにも必要とされるようです。それ以来、私のアプリケーションは問題なく動作しています。

私はそれが役立つことを願っています!

3
Nick

私は次の方法でこの問題を解決しました - developer.Android.comが言っているように、google-play-services_libを追加した後、マニフェストに<meta-data Android:name="com.google.Android.gms.version" Android:value="@integer/google_play_services_version" />を追加する必要がありますが、新しいSDKでは常にエラーになります。

エラー:指定された名前に一致するリソースが見つかりませんでした( 'value'と '@ integer/google_play_services_version'の値)。

このエラーを解決するには、@integer/google_play_services_versionの代わりに生の値4030500を使用することをお勧めしますが、これはGoogleサービスのリビジョン13に対してのみ正しいものです。

古いバージョンや Froyo を使用している場合(私のように)、それに別の値を入れるべきです。どの値を設定すればよいかを知るには、Google Playサービスのマニフェストを開いてversion_code値をコピーアンドペーストするだけです。 Froyoサービスの場合、それは3265130です。これを追加した後、このエラーが発生しなくなり、ついに私のアプリケーションで座標を受け取るようになりました。

3
whizzzkey

私は同じ問題を抱えていました。 Google APIコンソールで、そのアプリに対して生成されたキーが1つだけであることを確認する必要があります。私は自分のコードをあるPCから次のPCに移行するなどして(煩雑になりました)、1つのプロジェクトに複数のキーがありました。古いキーはすべてAPIコンソールページに非アクティブとして表示されますが、何らかの理由で競合が発生しました。それらを完全に削除した後、私はそれを再度実行しました、そしてそれはうまくいきました。

3
joeblow23

ここでも同じ問題がありました。 Magnusが上述したように、私にとっては、バージョン22.0.5へのSDKのアップデートが原因でした。

私のAndroid SDK (Google Play Servicesを含む)およびAndroidプラグイン Eclipse でフルアップデートを実行した後、できました私のアプリケーションでplay services libを使うため。

2
Volceri

IntelliJ IDEA ユーザー向け

数日間苦労した後、それをIntelliJ IDEA 13で機能させる唯一の方法はライブラリをインポートすることでした。これがすべてのステップです。

  1. 最新のPlayサービスがインストールされるようにAndroid SDKを更新してください。
  2. Android-sdk-root/extras/google/google_play_services/libprojectディレクトリに移動します。
  3. google-play-services_libをコピーして、それをIntelliJ IDEAプロジェクトの横に貼り付けます(このディレクトリを直接使用することをお勧めするものもありますが、このコードをきれいにしておくことをお勧めします)。
  4. IntelliJ IDEAプロジェクトプロパティを開き、新しいモジュールgoogle-play-services_libを追加します。
  5. ライブラリとしてマークされているかどうかを確認してください。
  6. メインプロジェクトへの依存関係としてgoogle-play-services_libライブラリプロジェクトを追加します。
  7. 依存ライブラリとしてgoogle-play-servicesライブラリも追加してください。

下記のリンクから、IntelliJ IDEA 13の外観のイメージを見ることができます。これら2つのうちの1つだけを追加しないと動作しません。

PS。 IntelliJ IDEA 13にlibプロジェクトとlib自体(google-play-service)の両方を追加する必要があるのはなぜですか。依存関係ですか?、IntelliJ IDEA 13ではなぜこれが必須であるのか、またライブラリまたはプロジェクトのみをインポートできないのはなぜですか。

2
sandalone

私も同じ問題を抱えていました。私はまた解決策を探すことを試みました、しかし解決策のどれも動いていなかった後、私は私のモバイル(Androidデバイス)を再起動しようとしました、そしてそれは問題を解決しました。

試してみてください。あなたのモバイル機器と Eclipse を再起動して安全な側に立ち、それが機能するかどうか確認してください。

1
Umang9

私も同じ問題を抱えていました。起動時には問題なく動作していましたが、しばらくして自分のアプリケーションを自分のデバイスから完全にアンインストールし(携帯で実行していた)、再度実行したところ、同じエラーが表示されました。

すべてのライブラリとリソースが正常に機能するように含まれていましたが、それでもこのエラーが発生していたので、プロジェクトビルドからすべての参照とライブラリを削除し、google service playをリビジョン10に更新しました。リソースとライブラリとそれを実行し、それが再び働き始めました。

ここで注意することの一つは、実行中に私がまだ私の LogCat でこのエラーメッセージを見ているのですが、私のデバイスでは今それはうまく動いています。

1
Pratap Singh

何人かの開発者と仕事をしているとき、私はまったく同じ問題を抱えていました。私が自分の ADT からプロジェクトを実行した場合、うまくいきますが、彼らからはそうではありません..

答えは、自分の SHA-1 キーとパッケージ名を Google APIコンソール に追加することでした。私たちは3人の開発者なので、3つのSHA-1鍵を入れる必要がありました。

インスピレーションを得られることを願っています...

0
Noam

LE:これはグーグルマップを使っていることを思い出したばかりなので、私の答えは最初の質問に答えることはできませんが、プレイゲームサービスで同じ問題があれば時間を節約できます。 。

私もこの信じられないほど不可解なエラーをしました。これは私にとって位置情報サービスに関連するものではありませんでしたが、 ドキュメント を正確に読んでいない、より正確には次のものを追加することを言っているステップ3です。あなたのAndroidManifest.xmlに:

<meta-data Android:name="com.google.Android.gms.games.APP_ID"
    Android:value="@string/app_id" />

AndroidManifest.xmlには明らかに次のものがあるはずです。

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

私はあなたがゲームサービスを実装したいときに彼らが使うことを提案しているBaseGameActivityを使っていたので私はそれがすぐにうまくいかなかったことに少し驚きました。私はgoogle-play-services_libのコピーのために専用のモジュールを作成しました、私はそれの最新版(執筆の時点で4323000)を持っていました、そして私はこれを私のメインモジュールへのモジュール依存として設定しました。しかし、上記の小さな行ですべてが修正されました。

0
async

私はGoogleのプレイサービスがインストールされているかどうかを確認するために独自のAPIを作成したのと同じ問題を抱えていた、それは私のためにうまく動作します。グーグルプレイサービスのパッケージ情報を渡すだけでそれはあなたに価値を与えるでしょう

以下はそのコードです。


public static boolean isGooglePlayServicesInstalled() { try { ApplicationInfo info = NativeActivity.CURRENT.getPackageManager()。getApplicationInfo( "com.google.Android.gms "、0); LOG.d(LOG_IDENTIFIER, "info : "+ info); return true; } catch(PackageManager.NameNotFoundException e) { e.printStackTrace(); LOG.e(LOG_IDENTIFIER, "NameNotFoundException : "+ e.getMessage()); } return false; }
0
Syed

私は次のコードを削除してそれを修正しました!

mLocationClient.setMockMode(true);
0

根本的な原因はリソースファイルの読み取りに失敗したことが原因であるように思われるため、これは現在のGoogle Play Servicesライブラリ、リビジョン15のバグであると思います。

W/ResourceType(25122):リソース0x7f0c000dは複雑なため要求に失敗しました
E/GooglePlayServicesUtil(25122):Google Playサービスのリソースが見つかりませんでした。プロジェクト構成を調べて、リソースが含まれていることを確認してください。

Google Play Servicesライブラリはリソースファイルを読み込もうとしており、リソースの読み込みに失敗したときにこのエラーメッセージを表示する汎用的な包括的なプログラムを持っているようです。これは krekerがライブラリから を逆コンパイルすることに成功したことと一致し、ログメッセージを説明します。

0
Paul Lammertsma

あなたが知っている、私はそれがSDKからのバグだとは思わない。 「Google Playサービスのリソースが見つかりませんでした。プロジェクト構成をチェックして、リソースが含まれていることを確認してください」というのはまったく正しいことです。あなたの/ libsに置かれたjarファイルは* xml、* pngなどのようなリソースを含みません。エラーログはこれを意味します。また、v4v7-appcompatv7-のようなサポートライブラリを追加したことがある場合cardviewv7-recyclerviewv7-pallete、またはv7-gridlayout、リソースが不足していることを意味するログが時々発生します。これらはすべて、プロジェクト内のリソースがインポートされていないためです。そのため、サポートプロジェクトをできるだけ早くライブラリとしてインポートします。もちろん、あなたは最初にこのサポートプロジェクトをSDKマネージャを通して追加項目の項目でダウンロードします

0
user2716622

私は同じ問題を抱えていました。 Kristopher Johnsonが言ったように、私はgoogle-play-services_libを参照しましたが、うまくいきませんでした。プロジェクトのプロパティ/ Javaビルドパス/ライブラリ/ Androidの依存関係の下にgoogle_play_services_lib.jar(SDK/googleフォルダを参照)を追加したところ、エラーが消えました。

0
aprados

私の場合は、私の実装にはある種の間違いがあり、エラーメッセージが LogCat に正しく表示されるためのリソースが見つからないと言っています。私の実装でその間違いを直したとき、LogCatからの問題も解消されました。したがって、実際に必要なリソースが不足していない限り、不足しているリソースを修正するのではなく、実装を修正する必要があります。

BTWさんの間違いは、広告テストモードに移行せずにデバッグモードで広告を掲載していたことです。

0
Lukas Hanacek