我有pretty的多其次本指南信,然而,当应用程序启动和Facebook的会话应该创建的应用程序崩溃。我想,这两个库没有被包含在构建...
包com.firstandroidapp;
进口android.os.Bundle;
进口android.app.Activity;
进口android.content.Intent;
进口android.widget.TextView;
进口com.facebook *。
进口com.facebook.model *。
公共类MainActivity延伸活动{
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
//开始的Facebook登录
Session.openActiveSession(这一点,真,新Session.StatusCallback(){
//回调时,会话状态变化
@覆盖
公共无效呼叫(会话的会话,SessionState会状态,例外的例外){
如果(session.isOpened()){
//使请求/ ME API
Request.executeMeRequestAsync(会话,新Request.GraphUserCallback(){
//后与用户对象图形API响应回调
@覆盖
公共无效onCompleted(GraphUser用户,响应响应){
如果(用户!= NULL){
TextView的欢迎=(TextView中)findViewById(R.id.welcome);
welcome.setText(你好+ user.getName()+!);
}
}
});
}
}
});
}
@覆盖
公共无效onActivityResult(INT申请code,INT结果code,意图数据){
super.onActivityResult(要求code,因此code,数据);
Session.getActiveSession()onActivityResult(这一点,要求code,因此code,数据)。
}
}
下面的异常堆栈:
10-16 14:13:30.627:E / AndroidRuntime(28793):致命异常:主要
10-16 14:13:30.627:E / AndroidRuntime(28793):java.lang.NoClassDefFoundError的:android.support.v4.content.LocalBroadcastManager
10-16 14:13:30.627:E / AndroidRuntime(28793):在com.facebook.Session.postActiveSessionAction(Session.java:1327)
10-16 14:13:30.627:E / AndroidRuntime(28793):在com.facebook.Session.setActiveSession(Session.java:790)
10-16 14:13:30.627:E / AndroidRuntime(28793):在com.facebook.Session.openActiveSession(Session.java:890)
10-16 14:13:30.627:E / AndroidRuntime(28793):在com.facebook.Session.openActiveSession(Session.java:830)
10-16 14:13:30.627:E / AndroidRuntime(28793):在com.mumin.facebookconnect.FBAuth.onCreate(FBAuth.java:21)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.app.Activity.performCreate(Activity.java:5104)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2260)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2356)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.app.ActivityThread.access $ 600(ActivityThread.java:150)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1244)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.os.Handler.dispatchMessage(Handler.java:99)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.os.Looper.loop(Looper.java:137)
10-16 14:13:30.627:E / AndroidRuntime(28793):在android.app.ActivityThread.main(ActivityThread.java:5195)
10-16 14:13:30.627:E / AndroidRuntime(28793):在java.lang.reflect.Method.invokeNative(本机方法)
10-16 14:13:30.627:E / AndroidRuntime(28793):在java.lang.reflect.Method.invoke(Method.java:511)
10-16 14:13:30.627:E / AndroidRuntime(28793):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:795)
10-16 14:13:30.627:E / AndroidRuntime(28793):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
10-16 14:13:30.627:E / AndroidRuntime(28793):在dalvik.system.NativeStart.main(本机方法)
10-16 14:13:38.175:I /流程(28793):发送信号。 PID:28793 SIG:9
解决方案
只需更换
YourProject \ LIB \ Android的支持,v4.jar
同
Facebook的Android的SDK-x.xx.x \库\ Android的支持,v4.jar
其中,x.xx.x是Facebook的SDK版本,例如3.21.0
I've pretty much followed this guide to the letter, however, when the application is launched and the Facebook session should be created the app crashes. I'm thinking the libraries aren't being included in the build...
package com.firstandroidapp;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.widget.TextView;
import com.facebook.*;
import com.facebook.model.*;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// start Facebook Login
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
}
});
}
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
}
Here's the exception stack:
10-16 14:13:30.627: E/AndroidRuntime(28793): FATAL EXCEPTION: main
10-16 14:13:30.627: E/AndroidRuntime(28793): java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager
10-16 14:13:30.627: E/AndroidRuntime(28793): at com.facebook.Session.postActiveSessionAction(Session.java:1327)
10-16 14:13:30.627: E/AndroidRuntime(28793): at com.facebook.Session.setActiveSession(Session.java:790)
10-16 14:13:30.627: E/AndroidRuntime(28793): at com.facebook.Session.openActiveSession(Session.java:890)
10-16 14:13:30.627: E/AndroidRuntime(28793): at com.facebook.Session.openActiveSession(Session.java:830)
10-16 14:13:30.627: E/AndroidRuntime(28793): at com.mumin.facebookconnect.FBAuth.onCreate(FBAuth.java:21)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.app.Activity.performCreate(Activity.java:5104)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2260)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2356)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.app.ActivityThread.access$600(ActivityThread.java:150)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.os.Handler.dispatchMessage(Handler.java:99)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.os.Looper.loop(Looper.java:137)
10-16 14:13:30.627: E/AndroidRuntime(28793): at android.app.ActivityThread.main(ActivityThread.java:5195)
10-16 14:13:30.627: E/AndroidRuntime(28793): at java.lang.reflect.Method.invokeNative(Native Method)
10-16 14:13:30.627: E/AndroidRuntime(28793): at java.lang.reflect.Method.invoke(Method.java:511)
10-16 14:13:30.627: E/AndroidRuntime(28793): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
10-16 14:13:30.627: E/AndroidRuntime(28793): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
10-16 14:13:30.627: E/AndroidRuntime(28793): at dalvik.system.NativeStart.main(Native Method)
10-16 14:13:38.175: I/Process(28793): Sending signal. PID: 28793 SIG: 9
解决方案
Just replace
YourProject\lib\android-support-v4.jar
with
facebook-android-sdk-x.xx.x\libs\android-support-v4.jar
where x.xx.x is the facebook sdk version, e.g. 3.21.0
上一篇:C# 小端还是大端?大端