【问题标题】:Unity Can't build android with facebook sdkUnity 无法使用 facebook sdk 构建 android
【发布时间】:2018-01-16 06:10:30
【问题描述】:

我已将 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

【问题讨论】:

    标签: android facebook unity3d facebook-unity-sdk


    【解决方案1】:

    我得到了这个问题的解决方案。 这里有几个步骤:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

        你在使用其他插件吗?

        请尝试如下:

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

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

            这个错误可能是由很多原因造成的

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

            【讨论】:

              猜你喜欢
              • 2016-07-29
              • 1970-01-01
              • 2014-03-30
              • 2016-02-25
              • 2022-10-14
              • 1970-01-01
              • 1970-01-01
              • 2016-01-12
              • 2018-04-09
              相关资源
              最近更新 更多