2013-12-22 38 views
7

我有一个用Java编写的Unity插件。在这个插件,我需要得到新的谷歌Advertisement ID做到这一点,我要补充清单文件:不能在Unity插件上使用谷歌播放服务

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

当我编译,统一抛出错误:

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'). 
] 

我也尝试过将Google Play服务jar添加到[lugins/Androif文件夹中,但这没有帮助。 使它正常工作的正确方法是什么?

回答

-1

您需要将最近的Google Play服务库项目链接到您的项目,因此在构建期间项目中的所有资源也将可用。由于最近才推出google_play_services_version,你肯定会得到较老的图书馆。而且你不能只将jar添加到你的项目 - 它不会工作。按照记录,只需将Google Play服务添加为永久性库。

+1

我有api级别19,最新的。此外,我使用这个插件在一个简单的android java应用程序,它的工作原理,在那里,我链接从谷歌播放服务api lib,但我如何链接它统一? – Dima

2

请勿将所有项目复制到您的插件/ Android中。

  1. 将配置文件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. 复制谷歌播放服务罐子 - >到插件/ Android的

  3. 复制所有res文件夹 - >到插件/安卓/ RES

+0

你可以解释一下,如果我需要设置“\ android应用程序ID”的东西或保持原样? –

+0

我尝试了上述方法,但没有奏效。我将代码片段原样复制到Manifest.xml中的Application节点。任何想法我失踪? –

+0

Android应用程序ID是您可以从Google Developer Console获取的字符串。转到此处https://developers.google.com/games/services/console/enabling - >设置您的游戏 - >创建客户端ID –

25

要修正这个错误,你有将android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/res/values/中的version.xml文件复制到您的Unity项目文件夹中的Assets/Plugins/Android/res/values/

+1

谢谢。为我工作。 – MicroEyes

+1

超棒的男人.... –

+1

我试着只复制version.xml并尝试复制整个res文件夹。没有运气。我错过了什么? –

1

更新简单的解决方案:

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

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

相关问题