0

반응 네이티브 및 fbsdk 래퍼 https://github.com/facebook/react-native-fbsdk을 사용하여 Android에서 fbsdk를 설정하려고합니다. iOS에서 작동하지만 Android에서 작동하지 않습니다. 나는 github readme에 따라 모든 단계를 따라 갔다.유효한 Facebook 앱 ID는 AndroidManifest.xml에 설정해야합니다.

MainApplication.java

@Override 
    public void onCreate() { 
    super.onCreate(); 
    FacebookSdk.sdkInitialize(getApplicationContext()); 
    SoLoader.init(this, /* native exopackage */ false); 
    } 

strings.xml의

<resources> 
    <string name="app_name">FacebookLogin</string> 
    <string name="facebook_app_id">1343643482425305</string> 
    <string name="fb_login_protocol_scheme">fb1343643482425305</string> 
</resources> 

의 AndroidManifest.xml

하지만 로그 캣

이 오류를 얻고있다
<meta-data android:name="com.facebook.sdk.ApplicationId" 
     android:value="@string/facebook_app_id"/> 

11-22 06:57:13.236 7570-7570/? I/zygote: Not late-enabling -Xcheck:jni (already on) 
11-22 06:57:13.244 7570-7570/? W/zygote: Unexpected CPU variant for X86 using defaults: x86 
11-22 06:57:13.361 7570-7570/com.facebooklogin I/FacebookInitProvider: Failed to auto initialize the Facebook SDK 
                     A valid Facebook app id must be set in the AndroidManifest.xml or set by calling FacebookSdk.setApplicationId before initializing the sdk. 
                      at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:276) 
                      at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:232) 
                      at com.facebook.internal.FacebookInitProvider.onCreate(FacebookInitProvider.java:20) 
                      at android.content.ContentProvider.attachInfo(ContentProvider.java:1919) 
                      at android.content.ContentProvider.attachInfo(ContentProvider.java:1894) 
                      at android.app.ActivityThread.installProvider(ActivityThread.java:6285) 
                      at android.app.ActivityThread.installContentProviders(ActivityThread.java:5851) 
                      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5772) 
                      at android.app.ActivityThread.-wrap1(Unknown Source:0) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661) 
                      at android.os.Handler.dispatchMessage(Handler.java:105) 
                      at android.os.Looper.loop(Looper.java:164) 
                      at android.app.ActivityThread.main(ActivityThread.java:6541) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
11-22 06:57:13.364 7570-7570/com.facebooklogin D/AndroidRuntime: Shutting down VM 
11-22 06:57:13.365 7570-7570/com.facebooklogin E/AndroidRuntime: FATAL EXCEPTION: main 
                   Process: com.facebooklogin, PID: 7570 
                   java.lang.RuntimeException: Unable to create application com.facebooklogin.MainApplication: A valid Facebook app id must be set in the AndroidManifest.xml or set by calling FacebookSdk.setApplicationId before initializing the sdk. 
                    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5794) 
                    at android.app.ActivityThread.-wrap1(Unknown Source:0) 
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661) 
                    at android.os.Handler.dispatchMessage(Handler.java:105) 
                    at android.os.Looper.loop(Looper.java:164) 
                    at android.app.ActivityThread.main(ActivityThread.java:6541) 
                    at java.lang.reflect.Method.invoke(Native Method) 
                    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
                    Caused by: A valid Facebook app id must be set in the AndroidManifest.xml or set by calling FacebookSdk.setApplicationId before initializing the sdk. 
                    at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:276) 
                    at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:232) 
                    at com.facebooklogin.MainApplication.onCreate(MainApplication.java:53) 
                    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1118) 
                    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5791) 
                    at android.app.ActivityThread.-wrap1(Unknown Source:0)  
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)  
                    at android.os.Handler.dispatchMessage(Handler.java:105)  
                    at android.os.Looper.loop(Looper.java:164)  
                    at android.app.ActivityThread.main(ActivityThread.java:6541)  
                    at java.lang.reflect.Method.invoke(Native Method)  
                    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)  
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)  

답변

0

이 build.gradle 아래 추가 (모듈 : 응용 프로그램) 파일 :

repositories { 
    mavenCentral() 
} 

compile 'com.facebook.android:facebook-android-sdk:4.10.0' 

지금의 AndroidManifest.xml 파일에 아래 추가 :

<activity android:name="com.facebook.FacebookActivity" 
      android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
      android:theme="@android:style/Theme.Translucent.NoTitleBar" 
      android:label="@string/app_name" /> 

activity_main.xml 파일에 다음 내용 추가 :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
tools:context="com.demonuts.fblogin.MainActivity"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textColor="#000" 
    android:layout_marginLeft="10dp" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:id="@+id/text"/> 

<com.facebook.login.widget.LoginButton 
    android:id="@+id/btnfb" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginTop="10dp" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

</LinearLayout> 
+0

이미 다음 세 단계에서 추가 된 상위 3 개 섹션입니다. 그것은 작동하지 않았다. 내가 반응 네이티브 권한을 사용하고 있기 때문에 마지막 부분은 필요하지 않습니까? –

관련 문제