321

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

すべてが正常に機能しているようです。アプリはデフォルトのマーカーでマップとオーバーレイを表示します。したがって、Google Play サービスと Google Maps API が正しくセットアップされていることは間違いありません。

ただし、マップ ビューが初期化されるたびに (第 2 世代の Nexus 7 で)、ADT LogCat ウィンドウに次のメッセージが表示されます。

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

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

私のアプリは正常に動作するため、これは良性のようです。しかし、問題が何であれ、対処するために何をしたり確認したりできますか?


詳細情報: 「Google Play サービス リソースが見つかりませんでした」というメッセージが LogCat に表示されるたびに、警告とタグ付けされた次のメッセージが先行します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


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

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

この問題の詳細については、こちらをご覧ください: Google マップは Android で正常に動作しますが、「メソッド maps.z.ag.a から参照されたクラス 'maps.ik' が見つかりませんでした」というエラーが引き続き表示されます。

繰り返しになりますが、アプリは問題なく動作しているようです。これらの「エラー」を無視しても安全でしょうか?

4

22 に答える 22

36

今朝この問題に遭遇したばかりで、今日までアプリケーションが正常に動作していたため、非常に奇妙に思えました。まったく同じ「Google Play サービスのリソースが見つかりませんでした...」というメッセージが表示されました。

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

とにかく、問題は S3 のLocation Services -> Google Location Servicesの下にあることが判明しました。チェックされていませんでした。他の 2 つの位置情報オプション ( VZW Location ServicesおよびStandalone GPS Services ) はチェックされていましたが、最後の 1 つ、Google Location Services はチェックされていませんでした。これをオンにすると、通常の Google マップが私の場所を見つけ、私のアプリケーションが私の場所を見つけることができ、問題は解決しました。

次の理由により、エラー メッセージが表示されます。

mMap.setMyLocationEnabled(true);

Google 位置情報サービスが有効になっていない場合。

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

于 2013-08-10T13:22:05.760 に答える
32

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

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メソッドは意図したとおりに機能しますが (その警告をログに記録することを除いて)、そのクラスには unimported を使用する他のメソッドがあるR.classため、他のエラーが発生する可能性があります。アプリケーションのバナーは正常に機能しますが...

于 2014-02-10T20:09:46.347 に答える
20

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

Right click project -> properties -> Android

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

詳細なウォークスルーについては、次を参照してください。

ライブラリ プロジェクトのインポート

エミュレーターで Google マップを実行する方法

于 2013-08-08T09:54:36.367 に答える
12

私もこの問題を抱えていました。私がそれを解決した方法は次のとおりです。

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

これは私にとってはうまくいきました。あなたにも役立つことを願っています!

于 2013-09-21T14:18:29.357 に答える
3

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

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

于 2014-02-06T14:55:36.433 に答える
2

IntelliJ IDEAユーザー向け

数日間苦労した後、IntelliJ IDEA 13 で動作させる唯一の方法は、ライブラリをインポートすることでした。すべての手順は次のとおりです。

  1. Android SDK を更新して、最新の Play サービスがインストールされるようにします。
  2. ディレクトリに移動しandroid-sdk-root/extras/google/google_play_services/libprojectます。
  3. これをコピーgoogle-play-services_libして、IntelliJ IDEA プロジェクトの横に貼り付けます (このディレクトリを直接使用することをお勧めする人もいますが、このコードはクリーンなままにしておくことをお勧めします!)。
  4. IntelliJ IDEA プロジェクトのプロパティを開き、新しい Module を追加し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で必須なのか、なぜライブラリまたはプロジェクトのみをインポートできないのか.

于 2014-04-10T10:27:49.040 に答える
1

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

すべての lib とリソースを含めて動作していましたが、それでもこのエラーが発生したため、プロジェクト ビルドからすべての参照と lib を削除し、Google サービス プレイをリビジョン 10 に更新し、デバイスからアプリケーションを完全にアンインストールしてから、すべてを再度追加しました。リソースとライブラリを作成して実行すると、再び機能し始めました。

ここで注意すべきことの 1 つは、実行中にLogCatにこのエラー メッセージがまだ表示されていることですが、デバイスでは正常に動作しています。

于 2013-08-15T09:26:19.420 に答える
1

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

以下はコードです:

public static boolean isGooglePlayServicesInstalled() { 試す { ApplicationInfo 情報 = 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; }

于 2015-06-29T11:06:27.120 に答える
0

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

于 2014-11-20T07:26:06.747 に答える
0

複数の開発者と作業しているときに、まったく同じ問題が発生しました。私のADTからプロジェクトを実行するとうまくいきますが、彼らのものからはそうではありません..

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

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

于 2013-12-29T14:00:59.610 に答える
0

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

于 2014-04-04T07:18:09.787 に答える
0

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

ところで、間違いは、広告テスト モードに行かずにデバッグ モードで広告を実行していたことです。

于 2014-03-05T09:19:25.347 に答える
0

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

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

Google Play Services ライブラリがリソース ファイルの読み取りを試み、リソースの読み込みに失敗したときにこのエラー メッセージを表示する一般的なキャッチオールがあるようです。これは、kreker がライブラリから逆コンパイルしたものと一致し、ログ メッセージを説明します。

于 2014-03-06T10:08:36.730 に答える