Unity 无法使用 facebook sdk 构建 android

Unity Can't build android with facebook sdk

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

构建游戏时出现重新打包错误。

有人知道问题出在哪里吗?

CommandInvokationFailure: Failed to re-package resources.
D:\Programmieren\Zubehör\Android SDK\build-tools.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

您是否使用其他插件?

请尝试如下:

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

  • 如果它不起作用,恢复到旧的 android sdk 版本

  • 删除整个fb sdk并重新导入

这发生在我身上,我尝试尊重方式 最好的解决方案是将 sdk 更改为 -> facebook-unity-sdk-7.9.4

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

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

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

这个错误可能是由多种原因引起的

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

我得到了这个问题的解决方案。 以下是需要执行的几个步骤:

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

现在您可以成功为您的项目构建Apk了。