LogCat消息:找不到Google Play服务资源。 检查您的项目configuration,以确保包含资源

我有一个使用Google Maps Android v2 API的应用程序。 我已经将google-play-services_lib库项目添加到了我的工作区,并从我的应用程序项目中添加了一个对它的引用,按照这些页面上的说明进行操作:

  • http://developer.android.com/google/play-services/setup.html 。
  • https://developers.google.com/maps/documentation/android/start

一切似乎工作正常:应用程序显示地图和覆盖与默认标记。 所以我很确定我已经正确设置了Google Play服务和Google Maps API。

不过,每当地图视图初始化时(在第二代Nexus 7上),我都会在ADT LogCat窗口中看到此消息:

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

消息级别为“错误”,标记为GooglePlayServicesUtil

这似乎是良性的,因为我的应用程序工作正常。 但是,我可以做什么或检查以解决任何问题可能?


更多信息:每次在“LogCat”中都会显示“Google Play服务资源未find”消息时,会在这些消息前面添加警告并标记为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,当我search包括gen / R.java文件的项目时,我找不到常量0x7f0b038a。

我已经检查了生成的.apk的内容,它包含了google-play-services_lib/res目录下的所有google-play-services_lib/res


另一个更新:添加ActionBarSherlock并更新我的清单中的targetSdkVersion从8到17,现在我看到LogCat输出中的另一个错误:

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

关于这个问题的更多细节可以在这里find: 谷歌地图工作正常的Android,但我仍然得到一个错误“找不到类”maps.ik“,从方法maps.z.ag.a”

再次,该应用程序似乎工作得很好。 也许可以忽略这些“错误”是安全的吗?

这是Google Play服务库中的一个错误,它在问题755中提交。

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

Google移动广告SDK常见问题指出:

我不断收到错误“找不到Google Play服务资源。 检查你的项目configuration,确保包含资源。

你可以放心地忽略这个消息。 您的应用仍会抓取并投放横幅广告。

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

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

我试图打开常规的Google地图应用程序来查看是否可以获取我的位置,但是找不到它。 甚至在等待5分钟后,即使服务提供商通过蜂窝塔也能够正常获得足够的时间。 所以我检查了位置服务。

无论如何,问题原来是在我的S3下定位服务 – > 谷歌定位服务 。 没有被检查。 其他两个位置选项被检查( VZW定位服务独立GPS服务 ),但最后一个,谷歌定位服务不是。 打开之后,常规Google地图可以find我的位置,我的应用程序可以find我的位置,问题就消失了。

popup的错误消息由于:

 mMap.setMyLocationEnabled(true); 

Google位置服务未启用时。

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

我已经对Google Play服务修订版14库进行了反编译。 我认为com.google.android.gms.common.GooglePlayServicesUtil.class存在一个错误。 上述string只出现在一个地方:

 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方法按预期工作(logging那个警告除外),但是该类中还有其他的方法,它使用了R.class ,所以可能还有一些其他的错误。 虽然在我的应用程序横幅工作正常…

您必须将google-play-services-lib为库项目。 他们更新了SDK 。 有几个教程。 对于Eclipse来说很简单:

 Right click project -> properties -> Android 

在这里输入图像说明

有关更详细的演练:

导入库项目

如何让GoogleMaps在模拟器上运行

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

  1. 删除google-play-services_lib库项目。
  2. 删除[你的项目]>属性> Android中的(现在无效的)google-play-services_lib参考。
  3. android-sdk-x/extras/google_play_services/libproject导入google-play-services_lib库项目。 在导入项目时,可以select“将项目复制到工作区”。 检查它。
  4. 添加(现在有效的)google-play-services_lib引用到您的项目与[您的项目]>属性>安卓。

这为我做了诡计。 我希望它也能帮助你!

当我使用Admob JUST时,我遇到了这个问题,因为我忘了将我的广告单元ID写入@string

我遇到过同样的问题。 在Google API控制台中,您应该检查是否只有一个为该应用生成的密钥。 我有一段时间把我的代码从一台电脑迁移到另一台电脑(这太乱了),而且我的一个项目有多个键。 旧的键在API控制台页面上被列为非活动,但由于某种原因导致冲突。 完全删除后,我再次运行它,它的工作。

至于我,我已经解决了这个问题的方式 – 作为developer.android.com说,添加google-play-services_lib后,你应该添加<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />在您的清单中,但在新的SDK中,您将始终得到一个错误:

错误:找不到与给定名称匹配的资源(值为'@ integer / google_play_services_version')。

为了解决这个错误,许多人build议使用原始值4030500而不是@integer/google_play_services_version ,但是对于Google服务修订版本13来说是正确的。

如果您使用任何旧版本或版本的Froyo (像我),你应该把另一个值。 要知道您应该放置什么样的价值,只需打开Goog​​le Play服务清单并复制粘贴version_code值即可。 对于Froyo服务,这是3265130 。 添加后,我已经停止了这个错误,我终于开始在我的应用程序接收坐标。

对我来说,唯一的工作解决scheme是添加android-support-v7-appcompat库 。 似乎这个库也是为了摆脱这个信息而需要的。 从那时起我的应用程序一直在正常工作!

我希望它有帮助!

我在这里有同样的问题。 正如Magnus上面所说的,对我来说,这是由于SDK更新到版本22.0.5而发生的。

在我的Android SDK (包括Google Play服务)和Android插件在Eclipse中执行完整更新之后,我可以在我的应用程序中使用播放服务库。

对于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项目旁边(有些人build议直接使用这个目录,但我build议保持这个代码干净!)。
  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中是必须的,为什么我们不能只导入库或项目。

我也有同样的问题。 在开始时,它工作的很好,但是之后我从我的设备上完全卸载了我的应用程序(我在移动设备上运行它),然后再次运行它,并显示出同样的错误。

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

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

对于我删除以下代码修复它!

 mLocationClient.setMockMode(true); 

LE:我只记得这是关于使用谷歌地图的,所以我的回答并没有真正回答最初的问题,但是我希望有些人如果在Play游戏服务中遇到同样的问题,可以节省数小时甚至数天的时间。

我也有这个难以置信的神秘错误。 这与我的位置服务没有任何关系,但是没有正确地阅读文档 ,更确切地说是第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"/> 

我在使用他们build议用来实现游戏服务的BaseGameActivity ,所以我有点惊讶,它不能马上工作。 我确实为google-play-services_lib创build了一个专用模块,我有它的最新版本( 43230004323000 ),而且我将它设置为模块依赖项(我的主模块在这里使用Android Studio) 。 但是,上面的那一小行固定了一切。

我有同样的问题。 正如Kristopher Johnson所说的那样,我引用了google-play-services_lib,但是它没有起作用。 我添加了google_play_services_lib.jar(看你的SDK /谷歌文件夹)项目属性/ Java构buildpath/库/ Android依赖和错误消失。

与几位开发人员合作时,我遇到了同样的问题。 如果我从我的ADT运行该项目,它运作良好,但从他们的不是..

答案是把他们的SHA-1密钥与包名称放在Google API控制台以及我的。 我们是三个开发人员,所以我们需要放入三个SHA-1密钥。

我希望它给你一些启发…

我也有同样的问题。 我也尝试寻找解决scheme,但是当我没有find任何解决scheme的工作,我试图重新启动我的手机(Android设备),并解决了这个问题。

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

在我的情况下,这意味着,在我的实现中有一些错误,它说,它找不到错误消息的资源在LogCat中正确显示。 当我在我的实现中修复这个错误时,LogCat中的问题也没有了。 所以实际上,除非你错过了一些真正需要的资源,否则你不应该专注于修复缺失的资源,而是修复你的实现。

顺便说一句,错误是我在debugging模式下运行广告,而不进入广告testing模式。

我相信这是目前Google Play服务库(修订版15)中的一个错误,因为潜在的原因似乎是由于读取资源文件失败导致的:

W / ResourceType(25122):请求资源0x7f0c000d失败,因为它很复杂
E / GooglePlayServicesUtil(25122):未findGoogle Play服务资源。 检查您的项目configuration,以确保包含资源。

看起来,Google Play服务库尝试读取资源文件,并且在资源加载失败时显示一条通用的全屏显示此错误消息。 这对应于kreker从库中设法反编译的内容 ,并解释日志消息。

你知道,我不认为这是来自sdk的错误。 “找不到Google Play的服务资源,检查你的项目configuration,确保资源被包含”是完全正确的。 放入你的/ libs的jar文件不包含任何资源,如* xml,* png等。错误日志意味着这一点。 如果您添加了支持库,如v4v7-appcompatv7-cardviewv7-recyclerviewv7-palletev7-gridlayout ,有时会logging这意味着资源短缺的情况。 所有这些都是因为项目中的资源不被导入。 所以,像ASAP一样导入支持项目。 当然,你首先通过SDK Manager下载这个支持项目的额外项目

我有同样的问题,我已经创build了自己的API来检查是否安装谷歌播放服务,它对我来说工作正常。 只需通过谷歌播放服务的包信息它会给你的价值

下面是代码:



public static boolean isGooglePlayServicesInstalled()
{
尝试
{
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; }