Facebook-sdk-for-unity: [Unity 2019.1] 添加对嵌入式 SDK 的支持

创建于 2019-05-11  ·  6评论  ·  资料来源: facebook/facebook-sdk-for-unity

你好呀,

Unity 2019.1 带有自己的嵌入式 JDK、SDK 和 NDK,而 Facebook SDK 似乎无法像附图中那样识别它。

Screenshot 2019-05-11 at 2 23 45 AM

请指教

最有用的评论

找到了出路——
1) 使用 Android Studio 和 Android Studio SDK,如图所示

我也是,但不是缺少资源-我有类似的东西-Facebook设置不正确-请参阅Facebook设置(唯一缺少的东西-Android默认调试密钥库)我目前正在尝试使用Gradle和Google Jar Resolver的所有排列我能想到的,但似乎您可以尝试使用下载的 Android Studio 并通过它下载 - SDK(内置工具 28.0.3)并在您的首选项中设置它们:
image

2)移除所有插件,移除IAP(Unity插件)并移除文件夹库以完全刷新Unity项目
3)第一件事 - 导入 IAP(Unity 插件) - 确保它会询问两个提示 - 第二个 - 我做了一个备份(如果没有显示第二个提示 - Unity 将不会编译所有的 dll/aar适当地! )
仅当未显示时 - 重复步骤 2,创建新的 Unity 项目 - 尝试使用 Unity 2018.2 - 并在其中添加 IAP,然后只需将 UDP、UNITYCHANNEL、UNITYPURCHASING 文件夹复制到您的 Unity 2018/2019 插件文件夹中。
4) 在你的 Unity Build 设置中 - 勾选 - Minify with proguard,勾选自定义 User proguard
使用以下 - 如果使用其他 SDK、插件 - 测试并查看缺少哪些类,将它们添加到 progurd 文件中
我正在使用 ; Google Play 游戏、Firebase 数据库、Admob、IAP
proguard的内容:

-保持类com.facebook.unity.FB { *; }
-保持类com.google.android.gms.ads.MobileAds { *; }

游戏服务规则

-保持类com.google.android.gms。 * { *;

不要混淆。 我们只需要死代码条带化。

-不要混淆

-保持类com.google.unity.** { *; }

5) 导入除 Facebook 7.15.1 以外的所有插件
6) 确保制作一个Android Resolve!
7) 需要构建 Android - 应该可以正常工作
8) 在同一个 Unity Editor 会话中 - 导入 Facebook SDK - 像这样取消选中并导入
image

尝试使用 Android 解决方案 - 没有什么新鲜事!
9)现在导入其余的:
image

导入后 - 尝试使用 Android 解析(而不是强制解析) - 现在它将修复依赖项

10)构建Android - 应该可以正常工作!

所有6条评论

您的 Android 版本有问题吗? 似乎它只需要用于调试和日志记录目的......另外,你能测试一下你是否有 #236 吗?

它在以前的版本中工作没有任何问题,现在当我编译时,我得到了未找到资源的错误。 甚至解析器也是不受支持的版本。

我也是,但不是缺少资源-我有类似的东西-Facebook设置不正确-请参阅Facebook设置(唯一缺少的东西-Android默认调试密钥库)我目前正在尝试使用Gradle和Google Jar Resolver的所有排列我能想到的,但似乎您可以尝试使用下载的 Android Studio 并通过它下载 - SDK(内置工具 28.0.3)并在您的首选项中设置它们:
image

找到了出路——
1) 使用 Android Studio 和 Android Studio SDK,如图所示

我也是,但不是缺少资源-我有类似的东西-Facebook设置不正确-请参阅Facebook设置(唯一缺少的东西-Android默认调试密钥库)我目前正在尝试使用Gradle和Google Jar Resolver的所有排列我能想到的,但似乎您可以尝试使用下载的 Android Studio 并通过它下载 - SDK(内置工具 28.0.3)并在您的首选项中设置它们:
image

2)移除所有插件,移除IAP(Unity插件)并移除文件夹库以完全刷新Unity项目
3)第一件事 - 导入 IAP(Unity 插件) - 确保它会询问两个提示 - 第二个 - 我做了一个备份(如果没有显示第二个提示 - Unity 将不会编译所有的 dll/aar适当地! )
仅当未显示时 - 重复步骤 2,创建新的 Unity 项目 - 尝试使用 Unity 2018.2 - 并在其中添加 IAP,然后只需将 UDP、UNITYCHANNEL、UNITYPURCHASING 文件夹复制到您的 Unity 2018/2019 插件文件夹中。
4) 在你的 Unity Build 设置中 - 勾选 - Minify with proguard,勾选自定义 User proguard
使用以下 - 如果使用其他 SDK、插件 - 测试并查看缺少哪些类,将它们添加到 progurd 文件中
我正在使用 ; Google Play 游戏、Firebase 数据库、Admob、IAP
proguard的内容:

-保持类com.facebook.unity.FB { *; }
-保持类com.google.android.gms.ads.MobileAds { *; }

游戏服务规则

-保持类com.google.android.gms。 * { *;

不要混淆。 我们只需要死代码条带化。

-不要混淆

-保持类com.google.unity.** { *; }

5) 导入除 Facebook 7.15.1 以外的所有插件
6) 确保制作一个Android Resolve!
7) 需要构建 Android - 应该可以正常工作
8) 在同一个 Unity Editor 会话中 - 导入 Facebook SDK - 像这样取消选中并导入
image

尝试使用 Android 解决方案 - 没有什么新鲜事!
9)现在导入其余的:
image

导入后 - 尝试使用 Android 解析(而不是强制解析) - 现在它将修复依赖项

10)构建Android - 应该可以正常工作!

遇到同样的问题, @studentutu谢谢你的解决方案,但官方修复会省去很多麻烦。

参考@manofspirit原始报告,就我而言,这是 Unity 2019 的 Android 密钥库文件位置问题。 在 Unity 论坛上查看此主题: https :

我的问题是通过在 Unity Preferences 中选择不同的密钥库路径并将我的密钥库移动到该位置来解决的。 之后,构建成功,Facebook SDK 没有错误。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

JuGGerNaunT picture JuGGerNaunT  ·  3评论

michelleran picture michelleran  ·  4评论

edscodeblenders picture edscodeblenders  ·  4评论

SeriouslySam picture SeriouslySam  ·  6评论

pvalium picture pvalium  ·  6评论