不能在统一的java插件上使用谷歌播放服务

我有一个用Java编写的Unity插件。 在这个插件,我需要得到新的谷歌广告ID来做到这一点,我必须添加到清单文件:

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

当我编译时,Unity正在抛出错误:

 Error building Player: CommandInvokationFailure: Failed to re-package resources. See the Console for details. /Applications/adt/sdk/build-tools/android-4.2.2/aapt package --auto-add-overlay -v -f -m - J gen -M AndroidManifest.xml -S "res" -I "/Applications/adt/sdk/platforms/android- 19/android.jar" -F bin/resources.ap_ stderr[ AndroidManifest.xml:21: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version'). ] 

我也尝试添加谷歌播放服务jar到[lugins / Androif文件夹,但没有帮助。 什么是正确的方法,使其工作?

Solutions Collecting From Web of "不能在统一的java插件上使用谷歌播放服务"

为了解决这个错误,你必须将version.xml文件从android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/res/values/复制到Assets/Plugins/Android/res/values/你的Unity项目的文件夹。

不要将所有项目复制到您的插件/ Android。

  1. configuration文件Manifest.xml到正确的信息。 复制到插件/ Android。

      <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="\ android app id " /> <meta-data android:name="com.google.android.gms.appstate.APP_ID" android:value="\ android app id " /> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <activity android:name="com.google.example.games.pluginsupport.SignInHelperActivity" /> 
  2. 将Google play services jar – >复制到Plugins / Android

  3. 复制所有res文件夹 – >插件/ Android / res

更新的简单解决scheme:

今天,我有同样的问题。 我注意到,当我从android-sdk/extras/google/google_play_services/libproject/名为google-play-services_lib ; Assets/Plugins/Android已经有了这个文件夹。 复制文件夹的名称是goole-play-services_lib 1

所以我只删除这个文件夹,它工作正常。

您需要将最近的Google Play服务库项目链接到您的项目,因此在构build期间项目中的所有资源也都可用。 由于最近才引入google_play_services_version因此您肯定会收到较旧的图书馆。 而且你不能只将jar添加到你的项目中 – 这是行不通的。 按照logging,只需将Google Play服务添加为永久性库。