Ponieważ przycisk logowania na Facebooku jest dostępny natywnie, chciałem mieć komponent opakowania typu react dla Androida. Więc próbowałem to napisać. Ale aplikacja ulega awarii nawet przed startem. Moja GitHub repozytorium: https://github.com/lalith26/react-native-fb-login-androidTworzenie niestandardowego składnika interfejsu użytkownika dla systemu Android przy użyciu polecenia Natywna reakcja na niepowodzenie. Awaria aplikacji
Zrobiłem następujące:
- stworzyłem Manager for widget LoginButton Facebooku:
- Stworzyłem pakiet ReactPackage rozszerzający MainReactPackage:
- Po dodaniu nowej ReactPackage w główną działalność:
- I obejmowały Gradle Zależność dla logowania do Facebooka sdk
https://github.com/lalith26/react-native-fb-login-android/blob/master/android/app/build.gradle#L28
- że wykonany składnik JS owijanie składnik Naturalny:
https://github.com/lalith26/react-native-fb-login-android/blob/master/fblogin.js
- końcu stosowany składnik JS:
https://github.com/lalith26/react-native-fb-login-android/blob/master/index.android.js#L21
czytam za pośrednictwem internetu i okazało się, że propTypes są mandato ry do przejścia. Próbowałem też. Ale aplikacja ulega awarii na samym początku. Nie widzę żadnych dzienników. Tak więc nie jestem w stanie znaleźć rzeczywistego powodu problemu. Próbowałem tego samego zestawu kroków dla przycisku i działało dobrze.
Czy jest coś, co po prostu robię źle. Proszę pomóc ..
Mam dostęp do dzienników emulatora poprzez logcat. Pokazuje on:
E/Android Runtime (2550) Sposób: com.fbloginbutton2 PID: 2550 E/Android Runtime (2550) java.lang.ExceptionInInitializerError E/Android Runtime (2550) w com. fbloginbutton2.FBLoginButtonManager.createViewInstance (FBLoginButtonManager.java:29) E/Android Runtime (2550) w com.fbloginbutton2.FBLoginButtonManager.createViewInstance (FBLoginButtonManager.java:15) E/Android Runtime (2550) w com.facebook. react.uimanager.ViewManager.createView (ViewManager.java:41) E/AndroidRuntime (2550): at com.facebook.react.uimanager.Nati veViewHierarchyManager.createView (NativeViewHierarchyManager.java:172) E/Android Runtime (2550): co com.facebook.react.uimanager.UIViewOperationQueue $ CreateViewOperation.execute (UIViewOperationQueue.java:137) E/Android Runtime (2550): co com. facebook.react.uimanager.UIViewOperationQueue $ 1.run (UIViewOperationQueue.java:574) E/Android Runtime (2550): co com.facebook.react.uimanager.UIViewOperationQueue $ DispatchUIFrameCallback.doFrameGuarded (UIViewOperationQueue.java:622) E/Android Runtime (2550): co com.facebook.react.uimanager.GuardedChoreographerFrameCallback.doFrame (GuardedChoreographerFrameCallback.java:32) E/Android Runtime (2550): co com.facebook.react.uimanager.ReactChoreographer $ ReactChoreogra pherDispatcher.doFrame (ReactChoreographer.java:114) E/Android Runtime (2550): co android.view.Choreographer $ CallbackRecord.run (Choreographer.java:765) E/Android Runtime (2550): co android.view. Choreographer.doCallbacks (Choreographer.java:580) E/AndroidRuntime (2550): at android.view.Choreographer.doFrame (Choreographer.java:549) E/AndroidRuntime (2550): at android.view.Choreographer $ FrameDisplayEventReceiver.run (Choreographer.java:753) E/AndroidRuntime (2550): at android.os.Handler.handleCallback (Handler.java:739) E/AndroidRuntime ( 2550): na android.os.Handler.dispatchMessage (Handler.java:95) E/AndroidRuntime (2 550): na android.os.Looper.loop (Looper.java:135) E/AndroidRuntime (2550): at android.app.ActivityThread.main (ActivityThread.java:5221) E/AndroidRuntime (2550): na java.lang.reflect.Method.invoke (Metoda rodzima ) E/AndroidRuntime (2550): at java.lang.reflect.Method.invoke (Method.java:372) E/AndroidRuntime ( 2550): at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:899) E/AndroidRuntime (2550): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:694) E/AndroidRuntime (2550): Spowodowane przez: null E/AndroidRuntime (2550): at com.facebook.internal.Validate.sdkInitialized (Validate.java:99) E/Android Runtime (2550): co com.facebook.FacebookSdk.getCallbackRequestCodeOffset (FacebookSdk.java:735) E/Android Runtime (2550): co com.facebook.internal.CallbackManagerImpl $ RequestCodeOffset.toRequestCode (CallbackManagerImpl.java: 109) E/AndroidRuntime (2550): pod adresem com.facebook.login.widget.LoginButton. (LoginButton.java:58) E/AndroidRuntime (2550): ... 21 więcej W/ActivityManager (1327):
Siła aktywność wykańczania com.fbloginbutton2/.MainActivity E/EGL_emulation (1373): tid 1373: eglCreateSyncKHR (1181): error 0x3004 (EGL_BAD_ATTRIBUTE)
Hello, I poszły za pośrednictwem tych linków. ReactPackage rozciąga się od MainReactPackage. To nie jest problem. Ponadto zaimplementowałem wszystkie 3 metody ReactPackage. Tak więc nie rozumiem, co powoduje problem. Proszę określić, czy chcesz, abym spojrzał na coś innego. Ponadto przechodzę przez rekwizyt przez mój komponent. – brlalithkumar
Zainicjowałem zestaw SDK do Facebooka i podałem identyfikator aplikacji w manifeście. Wtedy mogę zobaczyć przycisk logowania – brlalithkumar