Java Android facebook崩溃
我在Eclipse中安装了FacebookSDK,我正在使用FacebookSDK4.18 我已经添加了Facebook.jar来构建路径,但也崩溃了Java Android facebook崩溃,java,android,eclipse,facebook,cocos2d-x,Java,Android,Eclipse,Facebook,Cocos2d X,我在Eclipse中安装了FacebookSDK,我正在使用FacebookSDK4.18 我已经添加了Facebook.jar来构建路径,但也崩溃了 protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); FacebookSdk.sdkInitialize(this); //Crash this line } public
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this); //Crash this line
}
public void initFB(){
Log.e("Facebook", "init facebook");
LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile"));
Log.e("Facebook", "init facebook2");
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d("FB", "access token got.");
fbLoginCallBack(loginResult.getAccessToken().getToken());
// accessToken = loginResult.getAccessToken();
}
@Override
public void onCancel() {
// App code
Log.d("FB", "CANCEL");
}
@Override
public void onError(FacebookException exception) {
// App code
Log.d("FB", exception.toString());
}
});
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
FacebookSdk.sdkinInitialize(this);//使这行崩溃
}
公共无效initFB(){
Log.e(“Facebook”、“init Facebook”);
LoginManager.getInstance().logInWithReadPermissions(这是Arrays.asList(“public_profile”);
Log.e(“Facebook”、“init facebook2”);
LoginManager.getInstance().registerCallback(callbackManager,new FacebookCallback()){
@凌驾
成功时公共无效(LoginResult LoginResult){
Log.d(“FB”,“获取访问令牌”);
fbLoginCallBack(loginResult.getAccessToken().getToken());
//accessToken=loginResult.getAccessToken();
}
@凌驾
公开作废{
//应用程序代码
日志d(“FB”、“取消”);
}
@凌驾
public void onError(facebook异常){
//应用程序代码
Log.d(“FB”,exception.toString());
}
});
}
错误消息
12-22 16:57:29.620:E/AndroidRuntime(19402):
java.lang.NoClassDefFoundError:com.facebook.R$style 12-22
16:57:29.620:E/AndroidRuntime(19402):在
facebook.FacebookSdk.(FacebookSdk.java:83)12-22
16:57:29.620:E/AndroidRuntime(19402):在
com.sidequest.taxi.taxi.onCreate(taxi.java:187)12-22 16:57:29.620:
E/AndroidRuntime(19402):在
android.app.Activity.performCreate(Activity.java:5231)12-22
16:57:29.620:E/AndroidRuntime(19402):在
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
12-22 16:57:29.620:E/AndroidRuntime(19402):在
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
12-22 16:57:29.620:E/AndroidRuntime(19402):在
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2298)
12-22 16:57:29.620:E/AndroidRuntime(19402):在
android.app.ActivityThread.access$800(ActivityThread.java:144)12-22
16:57:29.620:E/AndroidRuntime(19402):在
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246)
12-22 16:57:29.620:E/AndroidRuntime(19402):在
android.os.Handler.dispatchMessage(Handler.java:102)12-22
16:57:29.620:E/AndroidRuntime(19402):在
android.os.Looper.loop(Looper.java:212)12-22 16:57:29.620:
E/AndroidRuntime(19402):在
android.app.ActivityThread.main(ActivityThread.java:5151)12-22
16:57:29.620:E/AndroidRuntime(19402):在
java.lang.reflect.Method.Invokenactive(本机方法)12-22
16:57:29.620:E/AndroidRuntime(19402):在
java.lang.reflect.Method.invoke(Method.java:515)12-22 16:57:29.620:
E/AndroidRuntime(19402):在
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-22 16:57:29.620:E/AndroidRuntime(19402):在
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)12-22
16:57:29.620:E/AndroidRuntime(19402):在
dalvik.system.NativeStart.main(本机方法)
试一试
@我也面临着这个问题,所以解决办法是这样的 FacebookSdk。SDK初始化(此); 上课不恰当 那么,试试这个
FacebookSdk。sdkinInitialize(您的活动。此)代码>
在应用程序类中,在**onCreate()**方法中
FacebookSdk。sdkinInitialize(getApplicationContext())代码>右键单击项目->生成路径->配置生成路径->订单和导出选项卡
确保选中“Facebook.jar”进行导出。在我的例子中,每当调用logInWithReadPermissions()
时,我们的Android应用程序都会完全崩溃(仅适用于Android 8):
/* This caused an immediate crash of the application - wrapping with
try/catch failed to "catch" any unhandled expection that may have been
causing the crash */
LoginManager.getInstance().logInWithReadPermissions(this, PERMISSIONS);
事实证明,在清单的com.facebook.facebook活动中包含android:screenOrientation
属性是导致崩溃的原因:
按如下方式更新
修复了该错误:
作为我对该漏洞原因调查的一部分,我还将项目的FacebookSDK依赖性从com.facebook.android:facebook android sdk:4.20.0
更新为最近的com.facebook.android:facebook android sdk:5.0.0
希望这对别人有帮助 您可能已将其添加到IDE路径,但未添加到应用程序的路径。你的build.gradle
是什么样子的?我正在使用Eclipse。因此,没有build.gradleTry将FacebookSdk.sdkinInitialize(getApplicationContext())放在一起;为什么你认为你不能在Eclipse中使用gradle?为什么要使用Eclipse?谢谢你的回复。但不工作他调用的方法是静态的,不需要构造函数初始化谢谢回复。FacebookSdk.sdk初始化(YourActivity.this);或FacebookSdk.sdkinInitialize(getApplicationContext());我已经试过了。但不工作确保“gen”文件夹位于“订单和导出”选项卡中的“src”文件夹之前。还可以尝试“Android工具>修复项目属性”,然后清理项目。另外,最好将facebook sdk作为库导入,而不是Android Studio中使用的jar文件。FacebookSDK 4.18。所以我下载了Facebook.aar不是jar。我把aar转换成jar。
/* This caused an immediate crash of the application - wrapping with
try/catch failed to "catch" any unhandled expection that may have been
causing the crash */
LoginManager.getInstance().logInWithReadPermissions(this, PERMISSIONS);