每当我测试我的构建时,都会出现 java.lang.ClassNotFoundException:com.facebook.unity.FB

Pit*_*ann 5 java android facebook unity-game-engine facebook-unity-sdk

我正在尝试将 Unity 的官方 Android SDK 合并到我的项目中。当我在 Unity 中设置 facebook 选项上的所有内容并进行构建后,每次调用 FB.Init() 时我都会得到以下信息:

AndroidJavaException: java.lang.ClassNotFoundException: com.facebook.unity.FB
  at UnityEngine.AndroidJNISafe.CheckException () [0x00000] in <filename unknown>:0
  at UnityEngine.AndroidJNISafe.CallStaticObjectMethod (IntPtr clazz, IntPtr methodID, UnityEngine.jvalue[] args) [0x00000] in <filename unknown>:0
  at UnityEngine.AndroidJavaObject._CallStatic[AndroidJavaObject] (System.String methodName, System.Object[] args) [0x00000] in <filename unknown>:0
  at UnityEngine.AndroidJavaObject.CallStatic[AndroidJavaObject] (System.String methodName, System.Object[] args) [0x00000] in <filename unknown>:0
  at UnityEngine.AndroidJavaObject.FindClass (System.String name) [0x00000] in <filename unknown>:0
  at UnityEngine.AndroidJavaClass._AndroidJavaClass (System.String className) [0x00000] in <filename unknown>:0
  at UnityEngine.AndroidJavaClass..ctor (System.String className) [0x00000] in <filename unknown>:0
  at Facebook.AndroidFacebook.get_FB () [0x0000b] in C:\Users\motionart\Documents\Unity Projects\
Run Code Online (Sandbox Code Playgroud)

我什至启用了“开发构建”和“脚本调试”,但一切都发生了<filename unknown>,所以我真的不知道如何继续。

知道会发生什么吗?

Ste*_*fan 6

我也有这个错误。不仅适用于 Facebook,还适用于其他插件(谷歌等)。

在此输入图像描述

更新您的proguard-user.txt以包含 Facebook 课程-keep class com.facebook.** { *; }

  1. Player Settings
  2. 查看Custom Proguard File
  3. 打开/Plugins/Android/proguard-user.txt
  4. 添加-keep class com.facebook.** { *; }

当您进行新构建时,这不会删除 Facebook 类。


Pit*_*ann 4

该SDK在我的项目中,并且是唯一的。经过几个小时的努力,解决问题的唯一方法是从我的项目中删除 sdk 的所有痕迹并再次导入。

然后就成功了。