将JFoenix与javafxports 8.60.8一起使用时,java.lang.IncompatibleClassChangeError-如何将JFoenix与JavaFXPorts一起使用?

拉迪斯拉夫土耳其语

当我在JavaFXPorts中使用JFoenix时,这是logcat的错误:

10-31 11:01:10.601: E/AndroidRuntime(5873): java.lang.IncompatibleClassChangeError: The method 'javafx.scene.layout.Background com.jfoenix.skins.JFXButtonSkin.lambda$new$251(com.jfoenix.controls.JFXButton)' was expected to be of type direct but instead was found to be of type virtual (declaration of 'com.jfoenix.skins.JFXButtonSkin' appears in /data/app/sk.jfoenixtestapplication-1/base.apk)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.jfoenix.skins.JFXButtonSkin.access$lambda$3(JFXButtonSkin.java)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.jfoenix.skins.JFXButtonSkin$$Lambda$4.call(Unknown Source)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.beans.binding.Bindings$6.computeValue(Bindings.java:338)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.beans.binding.ObjectBinding.get(ObjectBinding.java:153)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.beans.binding.ObjectExpression.getValue(ObjectExpression.java:50)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:53)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.beans.binding.ObjectBinding.addListener(ObjectBinding.java:72)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.beans.property.ObjectPropertyBase.bind(ObjectPropertyBase.java:173)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.css.StyleableObjectProperty.bind(StyleableObjectProperty.java:75)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.jfoenix.skins.JFXButtonSkin.<init>(JFXButtonSkin.java:108)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.jfoenix.controls.JFXButton.createDefaultSkin(JFXButton.java:91)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.scene.control.Control.impl_processCSS(Control.java:858)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.scene.Node.processCSS(Node.java:9056)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.scene.Node.processCSS(Node.java:9049)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.scene.Scene.doCSSPass(Scene.java:545)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.scene.Scene.access$3600(Scene.java:159)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2396)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:348)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.Toolkit.access$lambda$3(Toolkit.java)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.Toolkit$$Lambda$4.run(Unknown Source)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at java.security.AccessController.doPrivileged(AccessController.java:52)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:347)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:374)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:525)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:503)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$387(QuantumToolkit.java:321)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.quantum.QuantumToolkit.access$lambda$2(QuantumToolkit.java)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.javafx.tk.quantum.QuantumToolkit$$Lambda$3.run(Unknown Source)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)
10-31 11:01:10.601: E/AndroidRuntime(5873):     at java.lang.Thread.run(Thread.java:818)

我在NetBeans中使用JavaFXPorts 8.60.8和Gluon移动插件。

何塞·佩雷达(Jose Pereda)

新的jfxmobile插件1.1.0+包含一些与Retrolambda如何应用于项目依赖项有关的更改

在1.1.0之前,每个依赖项都应没有lambda表达式,因为retrolambda插件无法对其进行操作。

从1.1.0+开始,该插件也将Retrolambda应用于第三方依赖项。

如果这些依赖项使用了Retrolambda插件,则我们不能两次应用它,因为操作员发布的异常会失败。

为了避免这个问题,我们可以使用compileNoRetrolambdaruntimeNoRetrolambda,而不是通常的compileruntime,仅在没有Retrolambda的依赖项上使用:

dependencies {
    compile 'com.gluonhq:charm:4.0.0'
    compileNoRetrolambda 'com.airhacks:afterburner.mfx:1.6.2'
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章