I added facebook login following guide
Environment:
Debug version is worked perfectly, but after adding Proguard I receive crash when pressing on: com.facebook.login.widget.LoginButton
. After numerous times trying to start release version, debug started to crash with the same error.
Proguard rules :
build.gradle :
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro
proguard-rules.pro
-keep class com.facebook.** {
*;
}
-keep class android.webkit.WebViewClient
-keep class * extends android.webkit.WebViewClient
-keepclassmembers class * extends android.webkit.WebViewClient {
<methods>;
}
SDK initialize in onCreate()
of Application class FacebookSdk.sdkInitialize(getApplicationContext());
CallbackManager.Factory.create();
Created before Login button
mCallbackManager = CallbackManager.Factory.create();
LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
String[] permissions = {"public_profile", "user_friends", "user_hometown", "email"};
loginButton.setReadPermissions(permissions);
loginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {..});
Crash :
Process: com.facebook.katana, PID: 2364
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.facebook.katana/com.facebook.katana.gdp.ProxyAuthDialog}: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.facebook.webview.BasicWebView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.facebook.webview.BasicWebView
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.facebook.webview.BasicWebView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:412)
at android.app.Activity.setContentView(Activity.java:2414)
at com.facebook.base.activity.FbFragmentActivity.setContentView(:105588)
at com.facebook.katana.gdp.PlatformDialogActivity.b(:2405787)
at com.facebook.katana.gdp.ProxyAuthDialog.b(:2405964)
at com.facebook.base.activity.FbFragmentActivity.onCreate(:105550)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at X.01u.callActivityOnCreate(:5745)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x209000a
at android.content.res.Resources.getText(Resources.java:335)
at android.content.res.Resources.getString(Resources.java:381)
at X.0Wp.a(:76745)
at X.0Vv.a(:75106)
at X.0Vv.a(:75032)
at X.0Vs.getText(:74823)
at X.0Vs.getString(:74813)
at org.chromium.ui.base.ResourceBundle.initializeLocalePaks(ResourceBundle.java:61)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.startChromiumLocked(WebViewChromiumFactoryProvider.java:395)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.ensureChromiumStartedLocked(WebViewChromiumFactoryProvider.java:341)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.startYourEngines(WebViewChromiumFactoryProvider.java:435)
FYI : I run in the same crash while logging in Tinder
UPDATE
Managed to solve this problem by deleting Facebook application from the phone and login with browser.
Considering that a few applications that have Facebook login were throwing the same error, I supposed that it is connected with Facebook application bug. I removed it. After that, I managed to login to all applications through the browser. Also, after that I tried to logout, install Facebook app from play market and login one more time - all passed successfully. So, it seems like internal application bug. Could not reproduce it so far.