Facebook-sdk-for-unity: Kesalahan inisialisasi di Android

Dibuat pada 11 Okt 2017  ·  4Komentar  ·  Sumber: facebook/facebook-sdk-for-unity

Halo,

Saya mencoba mengintegrasikan SDK Facebook di game Unity saya, tetapi inisialisasi gagal. Saya menggunakan SDK versi 7.8 karena versi yang lebih baru membuat game saya melebihi batas metode 64K, dan saya tidak ingin menjadikannya multi-dex. Inilah yang saya lihat di 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/? I/art: Menolak re-init pada kelas java.lang.Class yang sebelumnya gagal: java.lang.NoClassDefFoundError: Resolusi gagal: Landroid/support/v4/app/BaseFragmentActivityApi16;
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer.c(com.unity3d.player.UnityPlayer) ((null):-1)
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer$c$1.handleMessage(android.os.Message) ((null):-1)
10-10 18:40:25.532 11528-11624/? I/art: di void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:98)
10-10 18:40:25.532 11528-11624/? I/art: di void android.os.Looper.loop() (Looper.java:154)
10-10 18:40:25.532 11528-11624/? I/art: di void com.unity3d.player.UnityPlayer$c.run() ((null):-1)
10-10 18:40:25.532 11528-11624/? I/art: Disebabkan oleh: java.lang.ClassNotFoundException: android.support.v4.app.BaseFragmentActivityApi16
10-10 18:40:25.532 11528-11624/? I/art: di java.lang.Class java.lang.VMClassLoader.findLoadedClass!(java.lang.ClassLoader, java.lang.String) (VMClassLoader.java:-2)
10-10 18:40:25.532 11528-11624/? I/art: di java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) (ClassLoader.java:742)
10-10 18:40:25.532 11528-11624/? I/art: di java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:362)
10-10 18:40:25.532 11528-11624/? I/art: di java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer.c(com.unity3d.player.UnityPlayer) ((null):-1)
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer$c$1.handleMessage(android.os.Message) ((null):-1)
10-10 18:40:25.532 11528-11624/? I/art: di void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:98)
10-10 18:40:25.532 11528-11624/? I/art: di void android.os.Looper.loop() (Looper.java:154)
10-10 18:40:25.532 11528-11624/? I/art: di void com.unity3d.player.UnityPlayer$c.run() ((null):-1)
10-10 18:40:25.532 11528-11624/? I/art: Menolak re-init pada kelas java.lang.Class yang sebelumnya gagal: java.lang.NoClassDefFoundError: Resolusi gagal: Landroid/support/v4/app/BaseFragmentActivityApi16;
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer.c(com.unity3d.player.UnityPlayer) ((null):-1)
10-10 18:40:25.532 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer$c$1.handleMessage(android.os.Message) ((null):-1)
10-10 18:40:25.533 11528-11624/? I/art: di void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:98)
10-10 18:40:25.533 11528-11624/? I/art: di void android.os.Looper.loop() (Looper.java:154)
10-10 18:40:25.533 11528-11624/? I/art: di void com.unity3d.player.UnityPlayer$c.run() ((null):-1)
10-10 18:40:25.533 11528-11624/? I/art: Disebabkan oleh: java.lang.ClassNotFoundException: android.support.v4.app.BaseFragmentActivityApi16
10-10 18:40:25.533 11528-11624/? I/art: di java.lang.Class java.lang.VMClassLoader.findLoadedClass!(java.lang.ClassLoader, java.lang.String) (VMClassLoader.java:-2)
10-10 18:40:25.533 11528-11624/? I/art: di java.lang.Class java.lang.ClassLoader.findLoadedClass(java.lang.String) (ClassLoader.java:742)
10-10 18:40:25.533 11528-11624/? I/art: di java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:362)
10-10 18:40:25.533 11528-11624/? I/art: di java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
10-10 18:40:25.533 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer.nativeRender() ((null):-2)
10-10 18:40:25.533 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer.c(com.unity3d.player.UnityPlayer) ((null):-1)
10-10 18:40:25.533 11528-11624/? I/art: di boolean com.unity3d.player.UnityPlayer$c$1.handleMessage(android.os.Message) ((null):-1)
10-10 18:40:25.533 11528-11624/? I/art: di void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:98)
10-10 18:40:25.533 11528-11624/? I/art: di void android.os.Looper.loop() (Looper.java:154)
10-10 18:40:25.533 11528-11624/? I/art: di void com.unity3d.player.UnityPlayer$c.run() ((null):-1)
10-10 18:40:25.609 11528-11624/? E/Unity: AndroidJavaException: java.lang.NoClassDefFoundError: Resolusi gagal: Lcom/facebook/FacebookActivity;

Tahu apa yang bisa terjadi di sini?

Terima kasih.

Komentar yang paling membantu

Saya memiliki jejak tumpukan yang serupa, tetapi tidak selesai di sana: menggulir ke akhir menunjukkan penyebab terakhir adalah tidak dapat memuat beberapa kelas dari Android.arch. Setelah beberapa penelitian saya menemukan bahwa ini disebabkan oleh rilis 26.1.0 dari perpustakaan dukungan (https://developer.android.com/topic/libraries/support-library/revisions.html#26-1-0) yang menambahkan Ketergantungan "Komponen Arsitektur Android". Setelah menambahkan perpustakaan itu, itu berhasil.

Semua 4 komentar

Saya memiliki jejak tumpukan yang serupa, tetapi tidak selesai di sana: menggulir ke akhir menunjukkan penyebab terakhir adalah tidak dapat memuat beberapa kelas dari Android.arch. Setelah beberapa penelitian saya menemukan bahwa ini disebabkan oleh rilis 26.1.0 dari perpustakaan dukungan (https://developer.android.com/topic/libraries/support-library/revisions.html#26-1-0) yang menambahkan Ketergantungan "Komponen Arsitektur Android". Setelah menambahkan perpustakaan itu, itu berhasil.

@sp-jordi-vilalta Anda menyelamatkan hari saya. Saya menghadapi kesalahan yang sama dalam reaksi asli. Hanya solusi Anda yang berhasil.

@sp-jordi-vilalta Terima kasih atas tipnya. Bisakah Anda menjelaskan bagaimana Anda melakukannya? Saya memiliki masalah yang sama sekarang. Terima kasih sebelumnya

@GregLukosek Saya tidak ingat jejak tumpukan penuh, tetapi pada akhirnya itu menunjukkan kelas yang benar-benar hilang, dan saya pikir itu adalah sesuatu dari Android.arch.*
Proyek Android terbaru harus mengelola dependensi Android mereka menggunakan maven/gradle, tetapi saya tidak tahu tentang spesifik untuk mengotomatisasi ini untuk Unity, jadi saya hanya mengikuti dokumentasi di https://developer.android.com/reference/android/arch /lifecycle/package-summary.html untuk mengetahui paket dan versi yang dibutuhkan dengan benar, dan mengunduhnya secara manual dari repositori Google maven (https://maven.google.com). Pada saat itu (v1.0.3), mendapatkan runtime dan paket umum sudah cukup untuk membuatnya bekerja.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat