LogCat提示:The谷歌Play services resources were not found.(谷歌Play services resources were not found.)检查您的项目配置,以确保资源包括在内

我有一个使用谷歌地图Android v2 API的应用程序。我已经将google-play-services_lib库项目添加到我的工作空间,并从我的应用程序项目中添加了对它的引用,遵循这些页面上的说明:

一切似乎都很正常:应用程序显示地图和覆盖默认标记。所以我很确定我已经正确地设置了谷歌播放服务和谷歌地图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中,它的前面是这些消息,这是警告和标记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,当我搜索项目时,我找不到常量0x7f0b038a,包括gen/R.java文件。

我已经检查了生成的.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'

关于这个问题的更多细节可以在这里找到:谷歌地图在Android上工作正常,但我仍然得到一个错误&;无法找到类'Maps .i.k',引用自方法Maps .z.ag.a&;

这款应用似乎又一次运行良好。也许忽略这些“错误”是安全的?

142366 次浏览

你必须添加google-play-services-lib作为一个库项目。他们更新了SDK。这里有一些教程。对于Eclipse来说很简单:

Right click project -> properties -> Android

Enter image description here

有关更详细的演练:

导入library-project . 导入库项目

如何让GoogleMaps在模拟器上运行

我今天早上遇到了这个问题,看起来很奇怪,因为我的应用程序直到今天都工作得很好。我得到了完全相同的“谷歌播放服务资源未找到…”消息。

我试着打开常规的谷歌地图应用程序,看看是否能找到我的位置,但它找不到。即使在等待5分钟后,这也足够通过手机信号塔从服务提供商那里获得位置了。所以我查了位置服务。

无论如何,问题原来是在我的S3下位置服务 -> 谷歌位置服务。它没有被检查。其他两个位置选项被选中(VZW位置服务独立GPS服务),但最后一个谷歌位置服务没有被选中。打开后,常规的谷歌地图可以找到我的位置,我的应用程序也可以找到我的位置,问题就解决了。

弹出错误消息是由于:

mMap.setMyLocationEnabled(true);

当谷歌Location Services未启用时。

在做了一些更多的测试之后,看起来如果当前位置是空的(不能从所有来源确定),那么你会在尝试打开setMyLocationEnabled时得到这个错误。

我这里也有同样的问题。正如Magnus上面所说,对我来说,这是因为SDK更新到22.0.5版本。

在我的Android SDK(包括谷歌播放服务)和Eclipse中的Android插件中执行了完整的更新后,我能够在我的应用程序中使用播放服务库。

我也有同样的问题。开始时,它工作得很好,但过了一段时间,我从我的设备上完全卸载了我的应用程序(我在我的手机上运行它),然后再次运行它,它显示了同样的错误。

我有所有的库和资源,因为它正在工作,但我仍然得到这个错误,所以我从我的项目构建中删除了所有的引用和库,更新谷歌服务播放到修订10,完全从设备上卸载应用程序,然后再次添加所有的资源和库,并运行它,它又开始工作了。

这里要注意的一件事是,在运行时,我仍然在我的LogCat中看到这个错误消息,但在我的设备上,它现在工作正常。

我也有同样的问题。在谷歌api控制台中,你应该检查该应用程序只有一个键生成。我有一个延伸,我将我的代码从一台PC迁移到下一台等(它变得混乱),并为我的一个项目有多个键。在API控制台页面上,旧的键都被列为非活动键,但由于某种原因导致了冲突。在完全删除它们之后,我再次运行它,它工作了。

我也有这个问题。我的解决方法如下:

  1. 删除google-play-services_lib库项目。
  2. 删除[你的项目]>属性> Android中的google-play-services_lib引用(现在无效)。
  3. android-sdk-x/extras/google_play_services/libproject导入google-play-services_lib库项目。当您导入一个项目时,您会看到“将项目复制到工作区”选项。取消它。
  4. 使用[your project] > Properties > Android添加(现在有效)google-play-services_lib引用到你的项目。

这招对我很管用。我希望它也能帮助到你!

对我来说,我已经通过下一种方式解决了这个问题-正如developer.android.com所说,在添加google-play-services_lib后,你应该添加<元数据android:name="com.google.android.gms.version" android: value = " / google_play_services_version " /比; 在你的清单中,但在新的SDK中,你总是会得到一个错误:

错误:没有找到与给定名称匹配的资源(at 'value'与value' @integer/ google_play_services_version”)。< / p >

为了解决这个错误,许多人建议使用原始值4030500,而不是@integer/google_play_services_version,但这只适用于谷歌服务修订13。

如果你使用任何旧版本或版本的Froyo(像我一样),你应该在它里面放另一个值。要知道你应该放什么值,只需打开谷歌播放服务清单,并复制粘贴一个version_code值。对于Froyo服务,它是3265130。添加这个后,我已经停止得到这个错误,我已经开始在我的应用程序中接收坐标。

在与其他开发者合作时,我也遇到了同样的问题。如果我从我的ADT运行项目,它工作得很好,但从他们的不是..

答案是把他们的sha - 1键和包名放在谷歌API控制台中,还有我的。我们是三个开发人员,所以我们需要输入三个SHA-1密钥。

我希望它能给你一些启发……

我遇到这个问题,当我使用Admob只是因为我忘记写我的广告单元ID到@string

为我删除以下代码修复它!

mLocationClient.setMockMode(true);

对我来说,唯一有效的解决方案是同时添加android-support-v7-appcompat库。为了消除该消息,似乎还需要这个库。从那时起,我的应用程序一直工作得很好!

我希望这能有所帮助!

我已经反编译谷歌播放服务修订版14库。我认为com.google.android.gms.common.GooglePlayServicesUtil.class中有一个bug。前面提到的字符串只出现在一个地方:

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.");
}
....

com.google.android.gms.common包中没有R.class

有一个import com.google.android.gms.R.string;,但没有使用string.something,所以我猜这是错误-应该有import com.google.android.gms.R;

尽管如此,isGooglePlayServicesAvailable方法仍能正常工作(除了记录该警告),但该类中还有其他方法,它们使用未导入的R.class,因此可能会有其他一些错误。虽然横幅在我的应用程序工作得很好…

我也有同样的问题。我也试图寻找解决方案,但在我没有找到任何解决方案后,我试图重新启动我的移动设备(Android设备),它解决了这个问题。

请试一试!重新启动您的移动设备和Eclipse以确保安全,并检查它是否工作。

在我的例子中,它的意思是,在我的实现中有某种错误,它说它无法找到正确显示在LogCat中的错误消息的资源。当我在我的实现中修正这个错误时,LogCat的问题也消失了。所以实际上,除非你丢失了一些真正必要的资源,否则你不应该专注于修复丢失的资源,而应该修复你的实现。

顺便说一句,错误在于我在调试模式下运行广告而没有进入广告测试模式。

我相信这是当前谷歌Play Services库的一个bug,修订版15,因为底层原因似乎是由于未能读取资源文件造成的:

W/ResourceType(25122):请求资源0x7f0c000d失败,因为它是复杂的
E/GooglePlayServicesUtil(25122): The谷歌Play services resources were not found。检查您的项目配置,以确保资源包括在内

谷歌Play Services库似乎试图读取资源文件,并在资源加载失败时显示此错误消息的通用catch-all。这与库中的Kreker设法反编译对应,并将解释日志消息。

LE:我只记得这是关于使用谷歌地图,所以我的回答并不能真正回答最初的问题,但我希望如果有些人在使用Play Game Services时遇到同样的问题,他们能够省下数小时或数天的时间去敲桌子。

我也犯了这个难以置信的神秘错误。对我来说,这与位置服务无关,但没有正确阅读文档,更准确地说是第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),并且我确实将其设置为我的主模块的模块依赖项(此处使用Android Studio)。但上面的那句话决定了一切。

我也有同样的问题。正如Kristopher Johnson所说,我引用了google-play-services_lib,但它不起作用。 我在项目属性/java构建路径/libraries/android依赖项下添加了google_play_services_lib.jar(查看您的SDK/谷歌文件夹),错误消失了

对于IntelliJ IDEA用户

经过几天的努力,让它在IntelliJ IDEA 13中工作的唯一方法是导入库。以下是所有的步骤:

  1. 更新Android SDK,安装最新的Play Service。
  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中的样子。如果不加上这两个中的一个,它就不能工作。

PS.我问了一个问题,为什么IntelliJ IDEA 13要求lib项目和lib本身(google-play-service)被添加为依赖项?< / >,为什么它在IntelliJ IDEA 13中是必须的,为什么我们不能只导入库或项目。

这是谷歌播放服务库中的一个错误,它被归档在发行755下面。

不幸的是,目前还没有任何解决方案。

谷歌移动广告SDK常见问题声明:

我一直得到错误' the谷歌Play services resources were not 发现。检查您的项目配置,以确保资源 包括。”< /强> < / p >

您可以安全地忽略此消息。你的应用仍然会获取和提供横幅广告。

所以如果你正确地包含了google-play-services_lib,并且你得到了广告,你就没有什么可担心的了(我猜…)

你知道,我不认为这是sdk的bug。 "没有找到谷歌播放服务资源。检查您的项目配置,以确保所包含的资源“完全正确”。放入/libs中的jar文件不包含任何类似*xml, *png等资源。错误日志就是这个意思。如果你曾经添加过像v4 < em > < / em >、< em > v7-appcompat < / em >, < em > v7-cardview < / em >, < em > v7-recyclerview < / em >, < em > v7-pallete < / em >或< em > v7-gridlayout < / em >这样的支持库,有时会出现暗示资源不足的日志。这一切都是因为项目中的资源没有导入。所以,尽快将支持项目导入库。当然,你首先要通过SDK经理临时演员

项下下载这个支持项目

我也有同样的问题,我创建了自己的API来检查谷歌播放服务是否安装,它对我来说很好。只要传递谷歌播放服务的包信息,它就会给你值

下面是代码:

< >之前

公共静态boolean isGooglePlayServicesInstalled() { 试一试 { ApplicationInfo info = NativeActivity.CURRENT.getPackageManager(). getapplicationinfo ("com.google.安卓。Gms ", 0);

<代码>日志。d(LOG_IDENTIFIER, "info: "+ info); 返回true; } 赶上(PackageManager。NameNotFoundException e) { e.printStackTrace (); 日志。e(LOG_IDENTIFIER, "NameNotFoundException: "+ e.getMessage()); } 返回错误; } < /代码> < / >之前