【问题标题】:Sudden error: No static method setWebDialogTheme(I)V突发错误:没有静态方法 setWebDialogTheme(I)V
【发布时间】:2017-09-28 17:09:23
【问题描述】:

有人已经问过这个问题,但被搁置了,所以我想我会试试的。我们几乎同时遇到了同样的问题,所以我想知道这是否可能是 Facebook Sdk 的问题?

或者我可能做了什么,但感觉这个错误不知从何而来,无法再使用我制作的应用程序登录 Facebook。

反正错误是

FacebookProvider.java 文件上,FacebookSdk.setWebDialogTheme(theme)setWebDialogTheme 部分为红色。这是一个只读文件,所以我认为我不会意外更改它。

错误信息是:

致命异常:主要 进程:gospa.hugomatica.com.gospa,PID:3578 java.lang.NoSuchMethodError: 没有静态方法 setWebDialogTheme(I)V in Lcom/facebook/FacebookSdk 类;或其超类(声明 'com.facebook.FacebookSdk' 出现在 /data/app/ga.matica.com.ga-_n-bcJLql8g_mU0q1hjX8g==/split_lib_dependencies_apk.apk) 在 com.firebase.ui.auth.provider.FacebookProvider.(FacebookProvider.java:67) 在 com.firebase.ui.auth.util.signincontainer.IdpSignInContainer.onCreate(IdpSignInContainer.java:124) 在 android.support.v4.app.Fragment.performCreate(Fragment.java:2329) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1377) 在 android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809) 在 android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799) 在 android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580) 在 android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367) 在 android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322) 在 android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229) 在 android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:700) 在 android.os.Handler.handleCallback(Handler.java:789) 在 android.os.Handler.dispatchMessage(Handler.java:98) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6541) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 09-28 10:02:52.889 3578-3578/gospa.hugomatica.com.gospa E/UncaughtException: java.lang.NoSuchMethodError: 没有静态方法 setWebDialogTheme(I)V in Lcom/facebook/FacebookSdk 类;或其超类(声明 'com.facebook.FacebookSdk' 出现在 /data/app/ga.matica.com.ga-_n-bcJLql8g_mU0q1hjX8g==/split_lib_dependencies_apk.apk) 在 com.firebase.ui.auth.provider.FacebookProvider.(FacebookProvider.java:67) 在 com.firebase.ui.auth.util.signincontainer.IdpSignInContainer.onCreate(IdpSignInContainer.java:124) 在 android.support.v4.app.Fragment.performCreate(Fragment.java:2329) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1377) 在 android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809) 在 android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799) 在 android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580) 在 android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367) 在 android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322) 在 android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229) 在 android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:700) 在 android.os.Handler.handleCallback(Handler.java:789) 在 android.os.Handler.dispatchMessage(Handler.java:98) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6541) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

对不起,如果我没有正确格式化,新的堆栈溢出

【问题讨论】:

  • 我也遇到了这个问题。似乎对 sdk 的更新破坏了 FacebookProvider 类。

标签: java android facebook


【解决方案1】:

更新: FirebaseUI 已更新以解决此问题。现在应该没有问题了。

Android 版 Facebook SDK 的最新更新将 [set|get]WebDialogTheme 方法移至不同的类。 FirebaseUI 需要在上游相应更新。

来源:Facebook SDK Changelog

来源相关文字:

将 FacebookSDK.[set|get]WebDialogTheme(...) 移动到 WebDialog.[set|get]WebDialogTheme(...)

您可以尝试使用较旧版本的 Facebook SDK,或等待 FirebaseUI 合并适当的更改。

【讨论】:

【解决方案2】:

对我有用的是回到早期版本的 FB: 编译'com.facebook.android:facebook-android-sdk:4.25.0' 同步时 4.26.0 不知何故对我不起作用,而 4.27 是上一个答案中提到的新版本。

所有 FB 版本可在以下位置获得: https://developers.facebook.com/docs/android/downloads

【讨论】:

    猜你喜欢
    • 2017-11-13
    • 1970-01-01
    • 2018-08-02
    • 2017-05-24
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多