问题
I am having problem running my JavaFX Port Application on Genymotion. When I try to install it on the emulator. It says "Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]". So I go into flashing it with ARM Trnaslation. Finally I successfully installed my application on genymotion.
The problem is when I try to run the app, it says "Unfortunately Gluon has stopped".
The error log below.
07-24 13:36:57.283 1508 1508 I MultiDex: install
07-24 13:36:57.283 1508 1508 I MultiDex: MultiDexExtractor.load(/data/app/com.gluonapplication2-1.apk, false)
07-24 13:36:57.299 197 246 W genymotion_audio: out_write() limiting sleep time 46485 to 39909
07-24 13:36:57.315 1508 1508 I MultiDex: loading existing secondary dex files
07-24 13:36:57.315 1508 1508 I MultiDex: load found 1 secondary dex files
07-24 13:36:57.319 1508 1508 I MultiDex: install done
07-24 13:36:57.323 1508 1508 V FXActivity: Initializing JavaFX Platform, using 8.60.7-SNAPSHOT
07-24 13:36:57.331 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:57.335 1508 1508 D dalvikvm: Trying to load lib /data/app-lib/com.gluonapplication2-1/libactivity.so 0xa4fe3960
07-24 13:36:57.371 1508 1508 F libc : Fatal signal 11 (SIGSEGV) at 0x000000b4 (code=1), thread 1508 (uonapplication2)
07-24 13:36:57.403 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:57.455 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:57.483 145 145 I DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-24 13:36:57.483 145 145 I DEBUG : Build fingerprint: 'generic/vbox86p/vbox86p:4.4.4/KTU84P/eng.genymotion.20160609.162149:userdebug/test-keys'
07-24 13:36:57.483 145 145 I DEBUG : Revision: '0'
07-24 13:36:57.483 145 145 I DEBUG : pid: 1508, tid: 1508, name: uonapplication2 >>> com.gluonapplication2 <<<
07-24 13:36:57.483 145 145 I DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 000000b4
07-24 13:36:57.607 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:57.663 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:57.723 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:57.783 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:57.919 145 145 I DEBUG : eax 0f861226 ebx 000019f0 ecx 94723d01 edx 00000000
07-24 13:36:57.919 145 145 I DEBUG : esi 00000000 edi b4e2e6bc
07-24 13:36:57.923 145 145 I DEBUG : xcs 00000073 xds 0000007b xes 0000007b xfs 00000000 xss 0000007b
07-24 13:36:57.923 145 145 I DEBUG : eip 945df751 ebp bf9353e8 esp bf9353c0 flags 00210246
07-24 13:36:57.923 145 145 I DEBUG :
07-24 13:36:57.923 145 145 I DEBUG : backtrace:
07-24 13:36:57.927 145 145 I DEBUG : #00 pc 000e8751 /system/lib/libhoudini.so
07-24 13:36:57.927 145 145 I DEBUG : #01 pc 000e66ea /system/lib/libhoudini.so
07-24 13:36:57.927 145 145 I DEBUG : #02 pc 000e8aaa /system/lib/libhoudini.so
07-24 13:36:57.931 145 145 I DEBUG : #03 pc 000bfcfc /system/lib/libhoudini.so
07-24 13:36:57.931 145 145 I DEBUG : #04 pc 000e6cc2 /system/lib/libhoudini.so (dvm2hdInit+18)
07-24 13:36:57.935 145 145 I DEBUG : #05 pc 00176947 /system/lib/libdvm.so (houdini::hookDlopen(char const*, int, bool*)+343)
07-24 13:36:57.935 145 145 I DEBUG : #06 pc 0008bcff /system/lib/libdvm.so (dvmLoadNativeCode(char const*, Object*, char**)+719)
07-24 13:36:57.935 145 145 I DEBUG : #07 pc 000ceaab /system/lib/libdvm.so (Dalvik_java_lang_Runtime_nativeLoad(unsigned int const*, JValue*)+139)
07-24 13:36:57.939 145 145 I DEBUG : #08 pc 001775b8 /system/lib/libdvm.so
07-24 13:36:57.939 145 145 I DEBUG : #09 pc 00005bff <unknown>
07-24 13:36:57.939 145 145 I DEBUG : #10 pc 0003b962 /system/lib/libdvm.so (dvmMterpStd(Thread*)+66)
07-24 13:36:57.939 145 145 I DEBUG : #11 pc 00037029 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+217)
07-24 13:36:57.939 145 145 I DEBUG : #12 pc 000bd027 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, char*)+759)
07-24 13:36:57.943 145 145 I DEBUG : #13 pc 000bd437 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+55)
07-24 13:36:57.943 145 145 I DEBUG : #14 pc 000dd8b2 /system/lib/libdvm.so (dvmInitClass+1458)
07-24 13:36:57.947 145 145 I DEBUG : #15 pc 000cd8d5 /system/lib/libdvm.so (Dalvik_java_lang_Class_newInstance(unsigned int const*, JValue*)+229)
07-24 13:36:57.947 145 145 I DEBUG : #16 pc 001775b8 /system/lib/libdvm.so
07-24 13:36:57.951 145 145 I DEBUG : #17 pc 00005ceb <unknown>
07-24 13:36:57.951 145 145 I DEBUG : #18 pc 0003b962 /system/lib/libdvm.so (dvmMterpStd(Thread*)+66)
07-24 13:36:57.955 145 145 I DEBUG : #19 pc 00037029 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+217)
07-24 13:36:57.955 145 145 I DEBUG : #20 pc 000bc1c6 /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+1750)
07-24 13:36:57.955 145 145 I DEBUG : #21 pc 000d1b20 /system/lib/libdvm.so (Dalvik_java_lang_reflect_Method_invokeNative(unsigned int const*, JValue*)+288)
07-24 13:36:57.959 145 145 I DEBUG : #22 pc 001775b8 /system/lib/libdvm.so
07-24 13:36:57.967 145 145 I DEBUG : #23 pc 00005eff <unknown>
07-24 13:36:57.967 145 145 I DEBUG : #24 pc 0003b962 /system/lib/libdvm.so (dvmMterpStd(Thread*)+66)
07-24 13:36:57.971 145 145 I DEBUG : #25 pc 00037029 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+217)
07-24 13:36:57.971 145 145 I DEBUG : #26 pc 000bd027 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, char*)+759)
07-24 13:36:57.975 145 145 I DEBUG : #27 pc 0007879d /system/lib/libdvm.so (CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, char*)+109)
07-24 13:36:57.975 145 145 I DEBUG : #28 pc 0005f50a /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+42)
07-24 13:36:57.979 145 145 I DEBUG : #29 pc 00060ca4 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+884)
07-24 13:36:57.979 145 145 I DEBUG : #30 pc 00001017 /system/bin/app_process (main+567)
07-24 13:36:57.979 145 145 I DEBUG : #31 pc 0000d59c /system/lib/libc.so (__libc_init+108)
07-24 13:36:57.983 145 145 I DEBUG :
07-24 13:36:57.983 145 145 I DEBUG : stack:
07-24 13:36:57.983 145 145 I DEBUG : bf935470 b7737000 /system/bin/linker
07-24 13:36:57.987 145 145 I DEBUG : bf935474 b4e35179 /system/lib/libdvm.so
07-24 13:36:57.991 145 145 I DEBUG : bf935478 b76a9689 /system/lib/libc.so (__system_property_get+9)
07-24 13:36:57.991 145 145 I DEBUG : bf93547c b7711e58 /system/lib/libcutils.so
07-24 13:36:57.991 145 145 I DEBUG : bf935480 98dc7c38
07-24 13:36:57.995 145 145 I DEBUG : bf935484 948709c0
07-24 13:36:57.995 145 145 I DEBUG : bf935488 bf9354a8 [stack]
07-24 13:36:57.999 145 145 I DEBUG : bf93548c 945ddcc3 /system/lib/libhoudini.so (dvm2hdInit+19)
07-24 13:36:58.003 145 145 I DEBUG : bf935490 b4e3514d /system/lib/libdvm.so
07-24 13:36:58.003 145 145 I DEBUG : bf935494 bf9354e0 [stack]
07-24 13:36:58.003 145 145 I DEBUG : bf935498 9dd686d8 /dev/ashmem/dalvik-LinearAlloc (deleted)
07-24 13:36:58.007 145 145 I DEBUG : bf93549c b4e7bcb4 /system/lib/libdvm.so
07-24 13:36:58.007 145 145 I DEBUG : bf9354a0 b4e2e6bc /system/lib/libdvm.so
07-24 13:36:58.007 145 145 I DEBUG : bf9354a4 b4e2e6bc /system/lib/libdvm.so
07-24 13:36:58.011 145 145 I DEBUG : bf9354a8 00000000
07-24 13:36:58.011 145 145 I DEBUG : bf9354ac b4e2b948 /system/lib/libdvm.so (houdini::hookDlopen(char const*, int, bool*)+344)
07-24 13:36:58.011 145 145 I DEBUG : #05 bf9354b0 bf9354d8 [stack]
07-24 13:36:58.011 145 145 I DEBUG : bf9354b4 b4e35179 /system/lib/libdvm.so
07-24 13:36:58.011 145 145 I DEBUG : bf9354b8 b4e2cb75 /system/lib/libdvm.so
07-24 13:36:58.011 145 145 I DEBUG : bf9354bc b4e7bcb4 /system/lib/libdvm.so
07-24 13:36:58.011 145 145 I DEBUG : bf9354c0 bf93550c [stack]
07-24 13:36:58.015 145 145 I DEBUG : bf9354c4 9dd686d8 /dev/ashmem/dalvik-LinearAlloc (deleted)
07-24 13:36:58.019 145 145 I DEBUG : bf9354c8 b814af90 [heap]
07-24 13:36:58.023 145 145 I DEBUG : bf9354cc bf9355ab [stack]
07-24 13:36:58.023 145 145 I DEBUG : bf9354d0 bf93550c [stack]
07-24 13:36:58.027 145 145 I DEBUG : bf9354d4 00000000
07-24 13:36:58.031 145 145 I DEBUG : bf9354d8 b770a1d0 /system/lib/libcutils.so (__android_log_print)
07-24 13:36:58.031 145 145 I DEBUG : bf9354dc b4e2b7e0 /system/lib/libdvm.so (houdini::dvmGetMethodShorty(houdini::fake_Method const*))
07-24 13:36:58.035 145 145 I DEBUG : bf9354e0 00006e6f
07-24 13:36:58.035 145 145 I DEBUG : bf9354e4 00000000
07-24 13:36:58.035 145 145 I DEBUG : bf9354e8 ffffffff
07-24 13:36:58.039 145 145 I DEBUG : bf9354ec 00000000
07-24 13:36:58.039 145 145 I DEBUG : ........ ........
07-24 13:36:58.039 145 145 I DEBUG : #06 bf935560 b814af90 [heap]
07-24 13:36:58.047 145 145 I DEBUG : bf935564 00000001
07-24 13:36:58.047 145 145 I DEBUG : bf935568 bf9355ab [stack]
07-24 13:36:58.047 145 145 I DEBUG : bf93556c b4d40080 /system/lib/libdvm.so (hashcmpNameStr(void const*, void const*))
07-24 13:36:58.047 145 145 I DEBUG : bf935570 00000000
07-24 13:36:58.047 145 145 I DEBUG : bf935574 b4e44714 /system/lib/libdvm.so
07-24 13:36:58.047 145 145 I DEBUG : bf935578 00000018
07-24 13:36:58.047 145 145 I DEBUG : bf93557c b772df2a /system/bin/linker (__dl_pthread_mutex_unlock+154)
07-24 13:36:58.047 145 145 I DEBUG : bf935580 00000002
07-24 13:36:58.047 145 145 I DEBUG : bf935584 bf9355bc [stack]
07-24 13:36:58.051 145 145 I DEBUG : bf935588 a4fe3960 /dev/ashmem/dalvik-heap (deleted)
07-24 13:36:58.051 145 145 I DEBUG : bf93558c b76e4f01 /system/lib/libc.so
07-24 13:36:58.051 145 145 I DEBUG : bf935590 bf93561c [stack]
07-24 13:36:58.051 145 145 I DEBUG : bf935594 b800deb0 [heap]
07-24 13:36:58.051 145 145 I DEBUG : bf935598 000006c9
07-24 13:36:58.051 145 145 I DEBUG : bf93559c b765c455 /system/lib/libc.so (dlfree+885)
07-24 13:36:58.051 145 145 I DEBUG : ........ ........
07-24 13:36:58.051 145 145 I DEBUG : #07 bf935600 b814af90 [heap]
07-24 13:36:58.055 145 145 I DEBUG : bf935604 a4fe3960 /dev/ashmem/dalvik-heap (deleted)
07-24 13:36:58.055 145 145 I DEBUG : bf935608 bf93561c [stack]
07-24 13:36:58.055 145 145 I DEBUG : bf93560c b4e7bcb4 /system/lib/libdvm.so
07-24 13:36:58.055 145 145 I DEBUG : bf935610 9dad7bf0 /data/dalvik-cache/system@framework@core.jar@classes.dex
07-24 13:36:58.055 145 145 I DEBUG : bf935614 a4cb60e0 /dev/ashmem/dalvik-zygote (deleted)
07-24 13:36:58.055 145 145 I DEBUG : bf935618 b4d536c5 /system/lib/libdvm.so (dvmMarkCard(void const*)+5)
07-24 13:36:58.055 145 145 I DEBUG : bf93561c 00000000
07-24 13:36:58.055 145 145 I DEBUG : bf935620 a4ffdaf0 /dev/ashmem/dalvik-heap (deleted)
07-24 13:36:58.055 145 145 I DEBUG : bf935624 00000001
07-24 13:36:58.055 145 145 I DEBUG : bf935628 b4d48949 /system/lib/libdvm.so (dvmLockObject+9)
07-24 13:36:58.055 145 145 I DEBUG : bf93562c 9ed5dc00
07-24 13:36:58.055 145 145 I DEBUG : bf935630 9dae4aae /data/dalvik-cache/system@framework@core.jar@classes.dex
07-24 13:36:58.055 145 145 I DEBUG : bf935634 9ed5dc20
07-24 13:36:58.055 145 145 I DEBUG : bf935638 bf9356b8 [stack]
07-24 13:36:58.059 145 145 I DEBUG : bf93563c b4e2c5b9 /system/lib/libdvm.so
07-24 13:36:58.239 522 544 I BootReceiver: Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)
07-24 13:36:58.255 522 1529 W ActivityManager: Force finishing activity com.gluonapplication2/javafxports.android.FXActivity
07-24 13:36:58.263 196 196 D Zygote : Process 1508 terminated by signal (11)
07-24 13:36:58.559 522 1529 I WindowManager: Screenshot max retries 4 of Token{52a6e170 ActivityRecord{52a6e0c0 u0 com.gluonapplication2/javafxports.android.FXActivity t4 f}} appWin=Window{5298eeac u0 Starting com.gluonapplication2} drawState=4
07-24 13:36:58.559 522 1529 W WindowManager: Screenshot failure taking screenshot for (1080x1920) to layer 21010
07-24 13:36:58.559 522 1529 W ActivityManager: Exception thrown during pause
07-24 13:36:58.559 522 1529 W ActivityManager: android.os.DeadObjectException
07-24 13:36:58.559 522 1529 W ActivityManager: at android.os.BinderProxy.transact(Native Method)
07-24 13:36:58.559 522 1529 W ActivityManager: at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:660)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:761)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2443)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.ActivityStack.finishTopRunningActivityLocked(ActivityStack.java:2320)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.ActivityStackSupervisor.finishTopRunningActivityLocked(ActivityStackSupervisor.java:2050)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.ActivityManagerService.handleAppCrashLocked(ActivityManagerService.java:9548)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.ActivityManagerService.makeAppCrashingLocked(ActivityManagerService.java:9441)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.ActivityManagerService.crashApplication(ActivityManagerService.java:10086)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.ActivityManagerService.handleApplicationCrashInner(ActivityManagerService.java:9637)
07-24 13:36:58.559 522 1529 W ActivityManager: at com.android.server.am.NativeCrashListener$NativeCrashReporter.run(NativeCrashListener.java:86)
07-24 13:36:58.571 522 533 I ActivityManager: Process com.gluonapplication2 (pid 1508) has died.
07-24 13:36:58.739 719 719 W EGL_genymotion: eglSurfaceAttrib not implemented
07-24 13:36:59.335 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:59.719 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:36:59.959 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:37:00.071 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:37:00.131 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:37:00.191 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:37:02.507 522 567 D MobileDataStateTracker: default: setPolicyDataEnable(enabled=true)
07-24 13:37:02.599 522 534 W InputMethodManagerService: Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@52c2b9f8 attribute=null, token = android.os.BinderProxy@528d3c9c
07-24 13:37:02.615 197 246 W genymotion_audio: out_write() limiting sleep time 115736 to 39909
07-24 13:37:02.655 197 246 W genymotion_audio: out_write() limiting sleep time 101655 to 39909
07-24 13:37:02.695 197 246 W genymotion_audio: out_write() limiting sleep time 87596 to 39909
07-24 13:37:02.735 197 246 W genymotion_audio: out_write() limiting sleep time 77324 to 39909
07-24 13:37:02.779 197 246 W genymotion_audio: out_write() limiting sleep time 62335 to 39909
07-24 13:37:02.819 197 246 W genymotion_audio: out_write() limiting sleep time 46485 to 39909
07-24 13:37:02.891 197 246 W genymotion_audio: out_write() limiting sleep time 51201 to 39909
Can you help me with this? I am a total newbie in JavaFX Port.
回答1:
I've installed Genymotion and the ARM translation, and I can reproduce the error.
If you set on Genymotion->Settings->ADB 'use custom Android SDK tools', and provide the path to your android sdk, then you can open a console window, go to Android/sdk/platform-tools and when the emulator running, type: adb logcat -v threadtime
.
You will see the exception when launching the Gluon application:
07-23 07:36:17.191 1713 1713 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.gluonhq.fiftystates-1/lib/arm/libactivity.so" has unexpected e_machine: 40
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at java.lang.Runtime.loadLibrary(Runtime.java:372)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1076)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at javafxports.android.FXActivity.<clinit>(FXActivity.java:116)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at java.lang.Class.newInstance(Native Method)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at android.app.Instrumentation.newActivity(Instrumentation.java:1067)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5417)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
07-23 07:36:17.191 1713 1713 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
This error: UnsatisfiedLinkError: dlopen failed: "/data/app/com.gluonhq.fiftystates-1/lib/arm/libactivity.so" has unexpected e_machine: 40
has been reported several times, as a bug in the arm translation.
Basically it means there are no x86 libraries, and the translation from arm libraries has failed.
If you want to run the app in an emulator you may try BlueStacks. Once you have installed it, you can double click on your apk and it will be available on BlueStacks. Then you can run it.
If for any reason the app crashes, you can run adb logcat
as well to find out about any possible exception. I've noticed that apps that work fine on mobile fail easily on the emulator.
So the best solution is running and testing your apps in a real device.
来源:https://stackoverflow.com/questions/38538903/couldnt-run-javafx-port-application-on-genymotion-with-flash-arm-translation