Facebook-sdk-for-unity: خطأ في التهيئة على Android

تم إنشاؤها على ١١ أكتوبر ٢٠١٧  ·  4تعليقات  ·  مصدر: facebook/facebook-sdk-for-unity

مرحبا،

أحاول دمج Facebook SDK في لعبة Unity الخاصة بي ، لكن التهيئة فشلت. أنا أستخدم الإصدار 7.8 من SDK لأن الإصدارات الأحدث تجعل لعبتي تتجاوز الحد الأقصى لأساليب 64 كيلو بايت ، ولا أريد أن أجعلها متعددة الأبعاد. هذا ما أراه في Android Logcat:
10-10 18: 40: 25.495 11528-11624 /؟ V / com.facebook.unity.FB: SetUserAgentSuffix (Unity.7.8.0)
10-10 18: 40: 25.522 11528-11624 /؟ V / com.facebook.unity.FB: Init ({"appId": "842765265887515"})
10-10 18: 40: 25.532 11528-11624 /؟ أنا / فن: رفض إعادة التهيئة على فئة java.lang.Class التي فشلت سابقًا: java.lang.NoClassDefFoundError: فشل حل: Landroid / support / v4 / app / BaseFragmentActivityApi16؛
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer.nativeRender () ((خالية): - 2)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer.c (com.unity3d.player.UnityPlayer) ((فارغ): - 1)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer $ c $ 1.handleMessage (android.os.Message) ((خالية): - 1)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في باطل android.os.Handler.dispatchMessage (android.os.Message) (Handler.java:98)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / فن: في باطل android.os.Looper.loop () (Looper.java:154)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في void com.unity3d.player.UnityPlayer $ c.run () ((خالية): - 1)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / فن: ناتج عن: java.lang.ClassNotFoundException: android.support.v4.app.BaseFragmentActivityApi16
10-10 18: 40: 25.532 11528-11624 /؟ أنا / فن: في java.lang.Class java.lang.VMClassLoader.findLoadedClass! (java.lang.ClassLoader، java.lang.String) (VMClassLoader.java:-2)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / فن: في java.lang.Class java.lang.ClassLoader.findLoadedClass (java.lang.String) (ClassLoader.java:742)
10-10 18: 40: 25.532 11528-11624 /؟ I / art: at java.lang.Class java.lang.ClassLoader.loadClass (java.lang.String، boolean) (ClassLoader.java:362)
10-10 18: 40: 25.532 11528-11624 /؟ I / art: في java.lang.Class java.lang.ClassLoader.loadClass (java.lang.String) (ClassLoader.java:312)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer.nativeRender () ((خالية): - 2)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer.c (com.unity3d.player.UnityPlayer) ((فارغ): - 1)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer $ c $ 1.handleMessage (android.os.Message) ((خالية): - 1)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في باطل android.os.Handler.dispatchMessage (android.os.Message) (Handler.java:98)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / فن: في باطل android.os.Looper.loop () (Looper.java:154)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في void com.unity3d.player.UnityPlayer $ c.run () ((خالية): - 1)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / فن: رفض إعادة التهيئة على فئة java.lang.Class التي فشلت سابقًا: java.lang.NoClassDefFoundError: فشل حل: Landroid / support / v4 / app / BaseFragmentActivityApi16؛
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer.nativeRender () ((خالية): - 2)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer.c (com.unity3d.player.UnityPlayer) ((فارغ): - 1)
10-10 18: 40: 25.532 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer $ c $ 1.handleMessage (android.os.Message) ((خالية): - 1)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / الفن: في باطل android.os.Handler.dispatchMessage (android.os.Message) (Handler.java:98)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / فن: في باطل android.os.Looper.loop () (Looper.java:154)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / الفن: في void com.unity3d.player.UnityPlayer $ c.run () ((خالية): - 1)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / فن: ناتج عن: java.lang.ClassNotFoundException: android.support.v4.app.BaseFragmentActivityApi16
10-10 18: 40: 25.533 11528-11624 /؟ أنا / فن: في java.lang.Class java.lang.VMClassLoader.findLoadedClass! (java.lang.ClassLoader، java.lang.String) (VMClassLoader.java:-2)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / فن: في java.lang.Class java.lang.ClassLoader.findLoadedClass (java.lang.String) (ClassLoader.java:742)
10-10 18: 40: 25.533 11528-11624 /؟ I / art: at java.lang.Class java.lang.ClassLoader.loadClass (java.lang.String، boolean) (ClassLoader.java:362)
10-10 18: 40: 25.533 11528-11624 /؟ I / art: في java.lang.Class java.lang.ClassLoader.loadClass (java.lang.String) (ClassLoader.java:312)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer.nativeRender () ((خالية): - 2)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer.c (com.unity3d.player.UnityPlayer) ((فارغ): - 1)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / الفن: في boolean com.unity3d.player.UnityPlayer $ c $ 1.handleMessage (android.os.Message) ((خالية): - 1)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / الفن: في باطل android.os.Handler.dispatchMessage (android.os.Message) (Handler.java:98)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / فن: في باطل android.os.Looper.loop () (Looper.java:154)
10-10 18: 40: 25.533 11528-11624 /؟ أنا / الفن: في void com.unity3d.player.UnityPlayer $ c.run () ((خالية): - 1)
10-10 18: 40: 25.609 11528-11624 /؟ E / الوحدة: AndroidJavaException: java.lang.NoClassDefFoundError: فشل حل: Lcom / facebook / FacebookActivity ؛

أي فكرة عما يمكن أن يحدث هنا؟

شكرا.

التعليق الأكثر فائدة

كنت أمتلك تتبع مكدس مشابه ، لكنه لم ينته بعد: التمرير حتى النهاية أظهر أن السبب النهائي هو أنه لا يمكن تحميل بعض الفئات من android.arch. بعد إجراء بعض الأبحاث ، اكتشفت أن هذا ناتج عن الإصدار 26.1.0 من مكتبة الدعم (https://developer.android.com/topic/libraries/support-library/revisions.html#26-1-0) الذي أضاف تبعية "مكونات هندسة Android". بعد إضافة تلك المكتبات عملت.

ال 4 كومينتر

كنت أمتلك تتبع مكدس مشابه ، لكنه لم ينته بعد: التمرير حتى النهاية أظهر أن السبب النهائي هو أنه لا يمكن تحميل بعض الفئات من android.arch. بعد إجراء بعض الأبحاث ، اكتشفت أن هذا ناتج عن الإصدار 26.1.0 من مكتبة الدعم (https://developer.android.com/topic/libraries/support-library/revisions.html#26-1-0) الذي أضاف تبعية "مكونات هندسة Android". بعد إضافة تلك المكتبات عملت.

@ sp-jordi-vilalta لقد أنقذت يومي. واجهت نفس الخطأ في رد فعل الأم. فقط الحل الخاص بك يعمل.

@ sp-jordi-vilalta شكرا للمعلومات. هل يمكنك توضيح كيف فعلت ذلك؟ لدي نفس المشكلة الآن. شكرا لك مقدما

GregLukosek لا أتذكر تتبع المكدس الكامل ، لكن في النهاية كان يُظهر الفئة المفقودة الحقيقية ، وأعتقد أنه كان شيئًا من android.arch. *
يجب أن تدير مشاريع Android الحديثة تبعيات Android الخاصة بها باستخدام maven / gradle ، لكنني لا أعرف التفاصيل لأتمتة هذا من أجل Unity ، لذا فقد اتبعت التوثيق في https://developer.android.com/reference/android/arch /lifecycle/package-summary.html لمعرفة الحزم والإصدارات المناسبة المطلوبة ، وتنزيلها يدويًا من مستودع Google maven (https://maven.google.com). في تلك اللحظة (الإصدار 1.0.3) ، كان الحصول على وقت التشغيل والحزم الشائعة كافياً لجعلها تعمل.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات