使用Android Studio和facebook 4.6.0对com.facebook.login.widget.LoginButton类进行膨胀时出错
在我的build.gradle中,我正在导入Facebook:使用Android Studio和facebook 4.6.0对com.facebook.login.widget.LoginButton类进行膨胀时出错,android,facebook,Android,Facebook,在我的build.gradle中,我正在导入Facebook: compile 'com.facebook.android:facebook-android-sdk:4.6.0' 在我的应用程序类中,我正在初始化Facebook SDK: FacebookSdk.sdkInitialize(getApplicationContext()); 在my AndroidManifest.xml中: <activity android:name="com.fa
compile 'com.facebook.android:facebook-android-sdk:4.6.0'
在我的应用程序类中,我正在初始化Facebook SDK:
FacebookSdk.sdkInitialize(getApplicationContext());
在my AndroidManifest.xml中:
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<receiver android:name="com.greenrobot.pirates.HelloFacebookBroadcastReceiver" />
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/fb_app_id" />
这适用于Genymotion。在我的设备上,我得到一个错误,它不能使类膨胀
01-01 19:30:02.207 5880-5880/? E/dalvikvm﹕ Could not find class 'com.greenrobot.pirates.Home$19$1', referenced from method com.greenrobot.pirates.Home$19.onCurrentProfileChanged
01-01 19:30:03.604 5880-5880/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.greenrobot.pirates/com.greenrobot.pirates.Home}: android.view.InflateException: Binary XML file line #17: Error inflating class com.facebook.login.widget.LoginButton
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2343)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
at android.app.ActivityThread.access$600(ActivityThread.java:162)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class com.facebook.login.widget.LoginButton
at android.view.LayoutInflater.createView(LayoutInflater.java:613)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:281)
at android.app.Activity.setContentView(Activity.java:1881)
at com.greenrobot.pirates.Home.setupCreateNewAccount(Home.java:885)
at com.greenrobot.pirates.Home.checkForUser(Home.java:826)
at com.greenrobot.pirates.Home.onCreate(Home.java:1171)
at android.app.Activity.performCreate(Activity.java:5122)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
at android.app.ActivityThread.access$600(ActivityThread.java:162)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:281)
at android.app.Activity.setContentView(Activity.java:1881)
at com.greenrobot.pirates.Home.setupCreateNewAccount(Home.java:885)
at com.greenrobot.pirates.Home.checkForUser(Home.java:826)
at com.greenrobot.pirates.Home.onCreate(Home.java:1171)
at android.app.Activity.performCreate(Activity.java:5122)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
at android.app.ActivityThread.access$600(ActivityThread.java:162)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoClassDefFoundError: com.facebook.R$style
at com.facebook.login.widget.LoginButton.getDefaultStyleResource(LoginButton.java:576)
at com.facebook.FacebookButtonBase.<init>(FacebookButtonBase.java:64)
at com.facebook.login.widget.LoginButton.<init>(LoginButton.java:200)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:281)
at android.app.Activity.setContentView(Activity.java:1881)
at com.greenrobot.pirates.Home.setupCreateNewAccount(Home.java:885)
at com.greenrobot.pirates.Home.checkForUser(Home.java:826)
at com.greenrobot.pirates.Home.onCreate(Home.java:1171)
at android.app.Activity.performCreate(Activity.java:5122)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
at android.app.ActivityThread.access$600(ActivityThread.java:162)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5371)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
01-01 19:30:02.207 5880-5880/?E/dalvikvm﹕ 找不到从com.greenrobot.pirates.Home$19$1方法引用的类'com.greenrobot.pirates.Home$19.onCurrentProfileChanged'
01-01 19:30:03.604 5880-5880/? E/AndroidRuntime﹕ 致命异常:主
java.lang.RuntimeException:无法启动活动组件信息{com.greenrobot.pirates/com.greenrobot.pirates.Home}:android.view.InflateException:二进制XML文件行#17:膨胀类com.facebook.login.widget.LoginButton时出错
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2343)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
在android.app.ActivityThread.access$600(ActivityThread.java:162)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
位于android.os.Handler.dispatchMessage(Handler.java:107)
位于android.os.Looper.loop(Looper.java:194)
位于android.app.ActivityThread.main(ActivityThread.java:5371)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:525)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:833)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
在dalvik.system.NativeStart.main(本机方法)
原因:android.view.InflateException:二进制XML文件行#17:错误膨胀类com.facebook.login.widget.LoginButton
在android.view.LayoutInflater.createView中(LayoutInflater.java:613)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
在android.view.LayoutInflater.充气(LayoutInflater.java:489)
在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
在android.view.LayoutInflater.充气(LayoutInflater.java:352)
位于com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:281)
位于android.app.Activity.setContentView(Activity.java:1881)
位于com.greenrobot.pirates.Home.setupCreateNewAccount(Home.java:885)
位于com.greenrobot.pirates.Home.checkForUser(Home.java:826)
位于com.greenrobot.pirates.Home.onCreate(Home.java:1171)
位于android.app.Activity.performCreate(Activity.java:5122)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
在android.app.ActivityThread.access$600(ActivityThread.java:162)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
位于android.os.Handler.dispatchMessage(Handler.java:107)
位于android.os.Looper.loop(Looper.java:194)
位于android.app.ActivityThread.main(ActivityThread.java:5371)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:525)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:833)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.reflect.InvocationTargetException
位于java.lang.reflect.Constructor.constructNative(本机方法)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:417)
位于android.view.LayoutInflater.createView(LayoutInflater.java:587)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
在android.view.LayoutInflater.充气(LayoutInflater.java:489)
在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
在android.view.LayoutInflater.充气(LayoutInflater.java:352)
位于com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:281)
位于android.app.Activity.setContentView(Activity.java:1881)
位于com.greenrobot.pirates.Home.setupCreateNewAccount(Home.java:885)
位于com.greenrobot.pirates.Home.checkForUser(Home.java:826)
位于com.greenrobot.pirates.Home.onCreate(Home.java:1171)
位于android.app.Activity.performCreate(Activity.java:5122)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
在android.app.ActivityThread.access$600(ActivityThread.java:162)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
位于android.os.Handler.dispatchMessage(Handler.java:107)
位于android.os.Looper.loop(Looper.java:194)
位于android.app.ActivityThread.main(ActivityThread.java:5371)
在爪哇
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.facebook.login.widget.LoginButton
xmlns:facebook="http://schemas.android.com/apk/res-auto"
android:id="@+id/login_button"
android:layout_width="400dp"
android:layout_height="500dp"
android:layout_marginBottom="30dp"
android:layout_marginTop="30dp"
android:src="@drawable/login_button" />
</LinearLayout>
<application
android:name="{your_app_class}"