在Facebook提供的示例场景中调用FB.Init时出现此错误:
AndroidJavaException: java.lang.ClassNotFoundException: com.facebook.unity.FB
java.lang.ClassNotFoundException: com.facebook.unity.FB
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:324)
at java.lang.Class.forName(Class.java:285)
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
at com.unity3d.player.UnityPlayer.c(Unknown Source)
at com.unity3d.player.UnityPlayer$c$1.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:148)
at com.unity3d.player.UnityPlayer$c.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.unity.FB" on path: DexPathList[[zip file "/data/app/com.redacted.redacted-1/base.apk"],nativeLibraryDirectories=[/data/app/com.redacted.redacted-1/lib/arm, /data/app/com.redacted.redacted-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
使用Facebook Unity SDK 7.10.0和Unity 2017.1.0f3,使用Gradle构建。我尝试删除并重新添加SDK,就像另一个类似的帖子说为他们工作但我仍然遇到问题。所有Facebook设置都应该是正确的,因为它在iOS上运行良好。
Facebook SDK和Firebase身份验证SDK是项目中唯一的东西。
感谢任何帮助!
编辑 - 它似乎是Unity 2017.1.0f3的兼容性问题。我已回滚到Unity 5.6.2f1,它运行完美。
答案 0 :(得分:1)
通过仔细检查我的所有设置并从Gradle切换回内部版本,让它在Unity 2017中运行。