接入facebook时 设置
com.facebook.sdk.ApplicationId 不正确会报如下错误:
Caused by: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.
at com.facebook.internal.Validate.sdkInitialized(Validate.java:146)
at com.facebook.login.LoginManager.<init>(LoginManager.java:80)
at com.facebook.login.LoginManager.getInstance(LoginManager.java:93)
试了发现,如果直接在清单文件中直接设置一定会报错,必须把他写在strings.xml就不报错了,或者在写id时加上fb前缀也可以,正确写法:
1、
清单文件:
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/>
strings.xml:
<string name="facebook_app_id">xxxxxxx</string>
2、
清单文件:(fb+appid)比如fb123456
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="fb123456"/>
3、清单文件:
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="${FB_APP_ID}"/>
build.gradle:(fb+appid) 比如fb123456
defaultConfig {
manifestPlaceholders = [FB_APP_ID : "fb123456",]
}
注意:后面两种写法必须加fb开头(当然你换成abc也行,似乎要字母开头就行),未知原因