突然错误:没有静态方法setWebDialogTheme(I)V - java

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

或者我可能做了些什么,但感觉出此错误无处不在,无法再使用我制作的应用程序登录Facebook。

无论如何,错误是

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

错误消息是:

致命异常:主要
流程:gospa.hugomatica.com.gospa,PID:3578
java.lang.NoSuchMethodError:中没有静态方法setWebDialogTheme(I)V
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
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)

抱歉,如果我没有正确格式化,则是堆栈新问题

参考方案

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

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

资料来源:Facebook SDK Changelog

来源中的相关文字:

将FacebookSDK。[set | get] WebDialogTheme(...)移至WebDialog。[set | get] WebDialogTheme(...)

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

绑定Java库Xamarin.Android - java

我花了两天时间在每个论坛,文档,tuto,博客等上寻找答案。我为实习生启动了一个Android应用程序,因为我不懂Java,所以用xamarin C#开发了它。直到最近一切都还不错,但现在我需要集成一个SDK才能在应用程序中使用POS(销售点),但是该库是用Java编写的,即使跟随文档或辅导老师,我也无法将其与xamarin绑定(我什至无法调试)。这里有人已…

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…

为什么我的应用在启动时总是崩溃-Android - java

刚刚遵循了有关如何制作按钮和活动的youtube指南。我按照他的代码减小字体大小,并且在启动时一直崩溃。有人知道为什么吗?public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { su…

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…