资讯详情

android - JavaFX,适用于Android的Gluon和“正在等待启用m或o传感器”致命错误消息? - 堆栈内存溢出

经过几周的调查,发现了错误的原因。

首先,在build.gradle在文件中,只需引用产品使用的插件。 因此,就我而言,我在阅读等待启用m或o传感器后,José说,问题可能出在磁力计上(例如'm')。在gradle本引用从以下内容中删除:plugins'accelerometer 设备,方向,存储,振动,显示,生命周期,状态栏,位置,但问题仍然存在。

在同一个方向上,我注意到 o”。 像方向这样的 o”? 也许。 正如我已在AndroidManifest.xml智能手机的方向设置在文件中:build.gradle文件没用?

我做到了,现在游戏正常运行。

总之,即使方向传感器在手机上不起作用,也不会干扰我的产品。

为什么只是一个问题:JavaFxPorts插件不直接使用Orientation?

注意:最后,我还删除了build.gradle文件中所有未使用的插件如下:

插件加速度计

注:调查方向错误:

这种异常有两个可能的原因(请参考跟踪)

第一个原因:这个FATAL异常症状可能与有关 了解Android中的AudioTrack断言中提到的另一种症状相似。 在这种情况下,Mimmo这样解决了它:使AudioTrack缓冲区的大小和从minBufferSize大小相同。这可以解决你的问题。

但是,就我而言,使用它AndroidNativeAudio和NativeAudioService这个缓冲区的大小无法设置,因为就我而言, 没有办法AudioTrack分配缓冲区的大小minBufferSize value 。 另一种可能性是将其设置为理由Gluon低音级管理(我认为)。

问题1:人怎么在?javafxports Gluon AndroidNativeAudio设置在上下文中AudioTrack缓冲区大小?

问题2:在底层,在Android在端口附近,如果存在,它们的大小分布是什么?

第二个原因:

为什么走线指向磁力计( QMCX983D”)?

通过删除磁力计的任何引用来修改build.gradle文件完成后,我已经清理好了。Eclipse项目。 因此,.apk已更改(从19.4 Mo更改为18 Mo)。

但是,在跟踪中,仍然引用QMCX983D(磁力计)。 正常吗 我有一部Archos Diamond S手机。

我没有磁力仪服务的源代码。

那为什么一条线总能包含对传感器的引用呢? 例如,获取磁力计数据的线程可能会产生隐藏的依赖关系?

谢谢

注意:“ ArrayIndexOutOfBoundsException只是问题的结果。 这个答案想去问题源。

D/AudioTrackShared( 319): front(0x6d4800), mIsOut(1), mAvailToClient=1024 stepCount=1024 minimum=2048, FUTEX_WAKE

D/AudioTrackShared( 319): front(0x6d4800), mIsOut 1, avail 2048, mFrameCount 4096, filled 2048

V/AudioTrack( 319): obtainBuffer(2048) returned 2048 = 2048 0 err 0

D/AudioTrackShared( 319): front(0x6d4800), mIsOut 1, avail 0, mFrameCount 4096, filled 4096

D/AudioTrackShared( 319): front(0x6d4800), mIsOut 1, avail 0, mFrameCount 4096, filled 4096

D/AudioTrackShared( 319): front(0x6d4800), mIsOut 1, obtainBuffer() FUTEX_WAIT

D/Surface (13077): Surface::setBuffersDimensions(this=0xf45e5500,w=676,h=1206)

D/QMCX983D( 387): waitting for enable m or o sensor

D/QMCX983D( 387): QMC_IOCTL_GET_OPEN_STATUS failed

D/QMCX983D( 387): QMC_IOCTL_GET_DELAY failed

D/QMCX983D( 387): QMC_IOCTL_SET_YPR failed!

E/AndroidRuntime(13077): FATAL EXCEPTION: JavaFX Application Thread

E/AndroidRuntime(13077): Process: com.gluonapplication, PID: 13077

E/AndroidRuntime(13077): java.lang.ArrayIndexOutOfBoundsException: length=30; index=-1

E/AndroidRuntime(13077): at java.util.ArrayList.get(ArrayList.java:310)

E/AndroidRuntime(13077): atvafx.scene.Parent.updateCachedBounds(Parent.java:1583)

E/AndroidRuntime(13077): at javafx.scene.Parent.recomputeBounds(Parent.java:1527)

E/AndroidRuntime(13077): at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1380)

E/AndroidRuntime(13077): at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)

E/AndroidRuntime(13077): at javafx.scene.Node.updateGeomBounds(Node.java:3577)

E/AndroidRuntime(13077): at javafx.scene.Node.getGeomBounds(Node.java:3530)

E/AndroidRuntime(13077): at javafx.scene.Node.updateBounds(Node.java:564)

E/AndroidRuntime(13077): at javafx.scene.Parent.updateBounds(Parent.java:1711)

E/AndroidRuntime(13077): at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2408)

E/AndroidRuntime(13077): at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:348)

E/AndroidRuntime(13077): at com.sun.javafx.tk.Toolkit.access$lambda$3(Toolkit.java)

E/AndroidRuntime(13077): at com.sun.javafx.tk.Toolkit$$Lambda$4.run(Unknown Source)

E/AndroidRuntime(13077): at java.security.AccessController.doPrivileged(AccessController.java:52)

E/AndroidRuntime(13077): at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:347)

E/AndroidRuntime(13077): at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:374)

E/AndroidRuntime(13077): at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:525)

E/AndroidRuntime(13077): at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:503)

E/AndroidRuntime(13077): at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$387(QuantumToolkit.java:321)

E/AndroidRuntime(13077): at com.sun.javafx.tk.quantum.QuantumToolkit.access$lambda$2(QuantumToolkit.java)

E/AndroidRuntime(13077): at com.sun.javafx.tk.quantum.QuantumToolkit$$Lambda$3.run(Unknown Source)

E/AndroidRuntime(13077): at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92)

E/AndroidRuntime(13077): at co.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51)

E/AndroidRuntime(13077): at java.lang.Thread.run(Thread.java:818)

V/SettingsProvider( 842): call(global:dropbox:data_app_crash) for 0

build.gradle:

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'org.javafxports:jfxmobile-plugin:1.3.2'

}

}

apply plugin: 'org.javafxports.jfxmobile'

repositories {

jcenter()

maven {

url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'

}

}

mainClassName = 'com.gluonapplication.GluonApplication'

dependencies {

compile 'com.gluonhq:charm:4.3.0'

}

jfxmobile {

downConfig {

version '3.2.0'

plugins 'accelerometer', 'device', 'orientation', 'storage', 'vibration', 'display', 'lifecycle', 'statusbar', 'position'

}

android {

applicationPackage = 'com.gluonapplication'

manifest = 'src/android/AndroidManifest.xml'

androidSdk = 'C:/Users/pascal/AppData/Local/Android/sdk'

resDirectory = 'src/android/res'

compileSdkVersion = '25'

buildToolsVersion = '25.0.1'

}

ios {

infoPList = file('src/ios/Default-Info.plist')

forceLinkClasses = [

'com.gluonhq.**.*',

'javax.annotations.**.*',

'javax.inject.**.*',

'javax.json.**.*',

'org.glassfish.json.**.*'

]

}

}

跟踪,无需明确引用磁力计:

I/MediaPlayerService( 318): [setDataSource] setDataSource fd=57, offset=3166308, length=90559

I/MediaPlayerService( 318): [setDataSource_drm_preCheck] fd=57,path=/data/app/com.gluonapplication-1/base.apk

D/DrmMtkUtil/DrmUtil( 318): checkDcf ----> fd [57]

V/DrmMtkUtil/DrmUtil( 318): checkDcf: first 3 bytes [50][4b][3]

E/DrmMtkUtil/DrmUtil( 318): checkDcf: not dcf type, dcf version value [80]

E/Cta5File( 318): Cta5File::isCta5NormalFile false, bad magic:PK

E/Cta5File( 318): Cta5File::isCta5MultimediaFile false, bad magic:

D/DrmMtkUtil( 318): isDcf: result [-1], isCta5:result [0]

D/Sonivox ( 318): EAS_HWOpenFile ----> use file descriptor [58]

D/DrmMtkUtil/DrmUtil( 318): checkDcf ----> fd [58]

V/DrmMtkUtil/DrmUtil( 318): checkDcf: first 3 bytes [50][4b][3]

E/DrmMtkUtil/DrmUtil( 318): checkDcf: not dcf type, dcf version value [80]

E/Cta5File( 318): Cta5File::isCta5NormalFile false, bad magic:PK

E/Cta5File( 318): Cta5File::isCta5MultimediaFile false, bad magic:

D/DrmMtkUtil( 318): isDcf: result [-1], isCta5:result [0]

D/Sonivox ( 318): EAS_HWOpenFile ----> checked, not a DRM file.

D/AudioTrackShared( 318): front(0x343e), mIsOut 1, avail 2972, mFrameCount 4458, filled 1486

V/AudioTrack( 318): obtainBuffer(1486) returned 2972 = 1486 + 1486 err 0

D/AudioTrackShared( 318): front(0x343e), mIsOut 1, avail 1486, mFrameCount 4458, filled 2972

V/AudioTrack( 318): obtainBuffer(1486) returned 1486 = 38 + 1448 err 0

D/MediaPlayerFactory( 318): getPlayerType(): using fd, check for DRM protected midi.

D/AudioTrackShared( 318): front(0x343e), mIsOut 1, avail 1448, mFrameCount 4458, filled 3010

D/DrmMtkUtil/DrmUtil( 318): checkDcf ----> fd [57]

V/AudioTrack( 318): obtainBuffer(1448) returned 1448 = 1448 + 0 err 0

V/DrmMtkUtil/DrmUtil( 318): checkDcf: first 3 bytes [50][4b][3]

E/DrmMtkUtil/DrmUtil( 318): checkDcf: not dcf type, dcf version value [80]

D/AudioTrackShared( 318): front(0x343e), mIsOut 1, avail 0, mFrameCount 4458, filled 4458

D/FileSourceProxy( 318): Fd: 58 register!

D/AudioTrackShared( 318): front(0x343e), mIsOut 1, avail 0, mFrameCount 4458, filled 4458

D/AudioTrackShared( 318): front(0x343e), mIsOut 1, obtainBuffer() FUTEX_WAIT

D/MediaPlayerFactory( 318): Before sniff local sdp

D/MediaPlayerFactory( 318): After sniff local sdp

D/FileSourceProxy( 318): Fd: 58 unregister!

D/FileSourceProxy( 318): Fd: 58, File Cache hit rate: 0.00

D/FileSourceProxy( 318): Fd: 58 register!

D/WVMDrmPlugIn( 317): WVMDrmPlugin::onInitialize : 5043

D/WVMDrmPlugIn( 317): WVMDrmPlugin::onSetOnInfoListener : add 5043

D/DrmCtaPlugIn( 317): onInitialize() : uniqueId : 5043

D/DrmCtaPlugIn( 317): encrypt thread has being created

D/DrmCtaPlugIn( 317): decrypt thread has being created

D/DrmCtaPlugIn( 317): onSetOnInfoListener(): uniqueId : 5043

D/DrmCtaPlugIn( 317): onSetOnInfoListener(): native

D/DrmMtkPlugIn( 317): DrmMtkPlugIn::onInitialize : 5043

D/DrmMtkPlugIn( 317): DrmMtkPlugIn::onSetOnInfoListener : 504

D/DrmManagerClient(Native)( 318): DrmManagerClient(): mUniqueId=[5043]

D/DrmManager(Native)( 317): pid = 11680

D/DrmManager(Native)( 317): pid_str = 11680

D/DrmCtaPlugIn( 317): onOpenDecryptSession() [5043], fd = 15, offset = 3166308, length = 9055

E/DrmCtaPlugIn( 317): [ERROR]onOpenDecryptSession - The key is not set by user

D/DrmMtkPlugIn( 317): onOpenDecryptSession() [5043], Start with file descryptor

D/DrmMtkUtil/DrmUtil( 317): parseDcf ----> fd [15

V/DrmMtkUtil/DrmUtil( 317): parseDcf: first 3 bytes [50][4b][3]

E/DrmMtkUtil/DrmUtil( 317): parseDcf: not dcf type, dcf version value [80]

E/DrmMtkPlugIn( 317): onOpenDecryptSession() : failed to parse dcf file.

D/WVMDrmPlugIn( 317): WVMDrmPlugin::onTerminate : 5043

D/DrmCtaPlugIn( 317): onTerminate():uniqueId : 5043

D/DrmMtkPlugIn( 317): DrmMtkPlugIn::onTerminate : 5043

D/QMCX983D( 369): waitting for enable m or o sensor

D/QMCX983D( 369): QMC_IOCTL_GET_OPEN_STATUS failed

D/QMCX983D( 369): QMC_IOCTL_GET_DELAY failed

D/QMCX983D( 369): QMC_IOCTL_SET_YPR failed!

D/DrmManagerClient(Native)( 318): ~DrmManagerClient(): mUniqueId=[5043]

E/AndroidRuntime(11680): FATAL EXCEPTION: JavaFX Application Thread

E/AndroidRuntime(11680): Process: com.gluonapplication, PID: 11680

E/AndroidRuntime(11680): java.lang.ArrayIndexOutOfBoundsException: length=30; index=-

E/AndroidRuntime(11680): at java.util.ArrayList.get(ArrayList.java:310)

E/AndroidRuntime(11680): at javafx.scene.Parent.updateCachedBounds(Parent.java:1583)

E/AndroidRuntime(11680): at javafx.scene.Parent.recomputeBounds(Parent.java:1527)

E/AndroidRuntime(11680): at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1380)

E/AndroidRuntime(11680): at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)

E/AndroidRuntime(11680): at javafx.scene.Node.updateGeomBounds(Node.java:3577)

E/AndroidRuntime(11680): at javafx.scene.Node.getGeomBounds(Node.java:3530)

标签: tk7480传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台