i using facebook's android sdk. if add facebook's loginbutton xml layout. receive runtime error: exceptionininitializererror
.
<relativelayout 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:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" android:paddingbottom="@dimen/activity_vertical_margin" tools:context=".mainactivity"> <com.facebook.login.widget.loginbutton android:id="@+id/login_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_margintop="30dp" android:layout_marginbottom="30dp" /> </relativelayout>
my mainactivity:
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); facebooksdk.sdkinitialize(getapplicationcontext()); }
here stack trace:
java.lang.exceptionininitializererror @ java.lang.reflect.constructor.newinstance(native method) @ java.lang.reflect.constructor.newinstance(constructor.java:288) @ android.view.layoutinflater.createview(layoutinflater.java:607) @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:743) @ android.view.layoutinflater.rinflate(layoutinflater.java:806) @ android.view.layoutinflater.inflate(layoutinflater.java:504) @ android.view.layoutinflater.inflate(layoutinflater.java:414) @ android.view.layoutinflater.inflate(layoutinflater.java:365) @ com.android.internal.policy.impl.phonewindow.setcontentview(phonewindow.java:378) @ android.app.activity.setcontentview(activity.java:2145) @ com.dupls.wedding.mainactivity.oncreate(mainactivity.java:25) @ android.app.activity.performcreate(activity.java:5990) @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1106) @ android.app.activitythread.performlaunchactivity(activitythread.java:2278) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2387) @ android.app.activitythread.access$800(activitythread.java:151) @ android.app.activitythread$h.handlemessage(activitythread.java:1303) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:135) @ android.app.activitythread.main(activitythread.java:5254) @ java.lang.reflect.method.invoke(native method) @ java.lang.reflect.method.invoke(method.java:372) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:903) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:698) caused by: null @ com.facebook.internal.validate.sdkinitialized(validate.java:99) @ com.facebook.facebooksdk.getcallbackrequestcodeoffset(facebooksdk.java:735) @ com.facebook.internal.callbackmanagerimpl$requestcodeoffset.torequestcode(callbackmanagerimpl.java:109) @ com.facebook.login.widget.loginbutton.<clinit>(loginbutton.java:58) at java.lang.reflect.constructor.newinstance(native method) at java.lang.reflect.constructor.newinstance(constructor.java:288) at android.view.layoutinflater.createview(layoutinflater.java:607) at android.view.layoutinflater.createviewfromtag(layoutinflater.java:743) at android.view.layoutinflater.rinflate(layoutinflater.java:806) at android.view.layoutinflater.inflate(layoutinflater.java:504) at android.view.layoutinflater.inflate(layoutinflater.java:414) at android.view.layoutinflater.inflate(layoutinflater.java:365) at com.android.internal.policy.impl.phonewindow.setcontentview(phonewindow.java:378) at android.app.activity.setcontentview(activity.java:2145) at com.dupls.wedding.mainactivity.oncreate(mainactivity.java:25) at android.app.activity.performcreate(activity.java:5990) at android.app.instrumentation.callactivityoncreate(instrumentation.java:1106) at android.app.activitythread.performlaunchactivity(activitythread.java:2278) at android.app.activitythread.handlelaunchactivity(activitythread.java:2387) at android.app.activitythread.access$800(activitythread.java:151) at android.app.activitythread$h.handlemessage(activitythread.java:1303) at android.os.handler.dispatchmessage(handler.java:102) at android.os.looper.loop(looper.java:135) at android.app.activitythread.main(activitythread.java:5254) at java.lang.reflect.method.invoke(native method) at java.lang.reflect.method.invoke(method.java:372) at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:903) at com.android.internal.os.zygoteinit.main(zygoteinit.java:698)
build.gradle (module: app)
apply plugin: 'com.android.application' android { compilesdkversion 22 buildtoolsversion "22.0.1" defaultconfig { applicationid "com.dupls.wedding" minsdkversion 21 targetsdkversion 22 versioncode 1 versionname "1.0" } buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile filetree(dir: 'libs', include: ['*.jar']) compile 'com.facebook.android:facebook-android-sdk:4.0.0' }
build.gradle (project):
// top-level build file can add configuration options common sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.1.0' // note: not place application dependencies here; belong // in individual module build.gradle files } } allprojects { repositories { jcenter() mavencentral() } }
i haven't been able find determine cause of exception is. can instantiate facebook sdk objects, can't seem add loginbutton ui. ideas? thanks.
public void oncreate(final bundle savedinstancesate) { super.oncreate(savedinstancesate); **facebooksdk.sdkinitialize(this.getapplicationcontext());** setcontentview(r.layout.activity_main); }
initialize facebooksdk
before setcontentview
in class.