0

Я добавил facebook логин следующий guideAndroid Facebook LoginButton BasicWebView Краш

Окружающая среда:

  • Nexus 6p
  • Andorid 7
  • minSdkVersion 19
  • targetSdkVersion 24

Отладочная версия работает отлично, но после добавления Proguard Я получаю сбой при нажатии: com.facebook.login.widget.LoginButton. После многочисленных попыток начать выпуск версии, отладка начала сбой с той же ошибкой.

правила Proguard:

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 инициализации в onCreate() класса Application FacebookSdk.sdkInitialize(getApplicationContext());

CallbackManager.Factory.create(); создан до кнопки Вход

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>() {..}); 

Крэш:

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: я бегу в том же аварии при входе в трут

UPDATE

Удаленный доступ к решению этой проблемы, удалив Facebook приложение с телефона и логин в браузере.

ответ

1

Учитывая, что несколько приложений, имеющих учетную запись Facebook, бросают ту же ошибку, я полагаю, что она связана с ошибкой приложения Facebook. Я удалил его. После этого мне удалось войти во все приложения через браузер. Кроме того, после этого я попытался выйти из системы, установить приложение Facebook с игрового рынка и войти еще раз - все прошло успешно. Таким образом, это похоже на ошибку внутреннего приложения. Не удалось воспроизвести его до сих пор.