Unity不能用facebook sdk构建android

时间:2018-01-16 06:10:30

标签: android facebook unity3d facebook-unity-sdk

我已将Facebook SDK(v7.10.1)添加到我的Unity项目中,我也有Gamespark SDK。

当我构建游戏时,我收到了重新包装错误。

任何人都知道问题是什么?

CommandInvokationFailure: Failed to re-package resources.
D:\Programmieren\Zubehör\Android SDK\build-tools\25.0.2\aapt.exe package --
auto-add-overlay -v -f -m -J "gen" -M "AndroidManifest.xml" -S "res" -I 
"D:/Programmieren/Zubehör/Android SDK\platforms\android-26\android.jar" -F 
bin/resources.ap_ --extra-packages com.facebook:com.facebook.android -S 
"E:\Programmieren\C#\workspaces\Ice Slider\Unity3d\Ice 
Slider\Temp\StagingArea\android-libraries\facebook-android-sdk-4.23.0\res" -
S "E:\Programmieren\C#\workspaces\Ice Slider\Unity3d\Ice 
Slider\Temp\StagingArea\android-libraries\facebook-android-wrapper-
7.10.1\res"

stderr[
E:\Programmieren\C#\workspaces\Ice Slider\Unity3d\Ice             
Slider\Temp\StagingArea\android-libraries\facebook-android-sdk-
4.23.0\res\values\values.xml:131: error: Error retrieving parent for item: 
No resource found that matches the given name 
'@style/Theme.AppCompat.NoActionBar'.

E:\Programmieren\C#\workspaces\Ice Slider\Unity3d\Ice 
Slider\Temp\StagingArea\android-libraries\facebook-android-sdk-
4.23.0\res\values\values.xml:136: error: Error retrieving parent for item: 
No resource found that matches the given name 
'@style/Theme.AppCompat.Dialog'.

]
stdout[
Configurations:
 (default)

Files: 
  AndroidManifest.xml
    Src: () AndroidManifest.xml

5 个答案:

答案 0 :(得分:1)

Unity项目中缺少appcompat包。最新的Facebook SDK(7.10,7.11)不包括所有需要的Android支持库。

确保您已安装Android Studio,并在Android Studio中安装了项目目标SDK版本所需的支持库。将所需的AAR包从Android SDK文件夹(mac上为extras/android/m2repository/com/android/support)下的~/Library/Android/SDK复制到Unity项目中的Plugins/Android/libs文件夹。 AAR文件位于包名称的文件夹下,在这种情况下为appcompat-v7。此文件夹中可能有多个子文件夹。从子文件夹中找到与您想要的版本匹配的AAR。

许多插件和SDK导入这些系统库的副本。这不是最佳的,因为一次只能存在一个版本。因此,我们需要在包含多个依赖于它们的SDK的项目中管理这些Android支持库。

答案 1 :(得分:0)

您使用的是其他插件吗?

请尝试如下:

  • 尝试更新最新的android sdk并构建工具

  • 如果它不能正常工作,请恢复原来的android sdk版本

  • 删除整个fb sdk并再次导入

答案 2 :(得分:0)

这发生在我身上&我尝试顺义 最好的解决方案是将sdk改为 - > Facebook的统一-SDK-7.9.4

答案 3 :(得分:0)

我得到了解决这个问题的方法。 以下是几个步骤:

  1. 删除Facebook SDK文件夹。
  2. 删除PlayServicesResolver文件夹。
  3. 删除插件文件夹。
  4. 现在使用Facebook API和命名空间对代码进行评论。
  5. 现在导入FacebookSDK 7.10.0并在编辑设置选项中使用项目详细信息对其进行配置。
  6. 现在重新生成Android Manifest文件并取消注释代码。
  7. 现在您可以为您的项目成功构建Apk。

答案 4 :(得分:-1)

由于许多事情可能导致此错误

  1. 更新JDK
  2. 检查Java路径。
  3. 更新Android SDK
  4. 删除plugins文件夹下的unity资产文件夹中的重复.jar文件。
  5. 检查AndroidManifest.xml和播放器设置中的目标版本 应该是一样的。
  6. 如果这些不起作用。您的错误导致“Android-26”。所以去吧 androidskd> build-tools并删除文件夹android-26文件夹和 再建一次。