简体   繁体   English

启动后,部署在Android上的Hello World应用程序意外停止

[英]Hello world app deployed on android stops unexpectedly just after start

I'm trying to run hello world app using Rho Studio (just New -> Project -> Finish) on various supported platforms. 我正在尝试在各种受支持的平台上使用Rho Studio运行hello world应用程序(只是New-> Project-> Finish)。 I managed to run it on win32. 我设法在win32上运行它。 I'm curious about windows mobile deployment, but I'm holding out now, since it requires paid subscription. 我对Windows Mobile部署感到好奇,但是我现在坚持了下来,因为它需要付费订阅。 The app also runs on all platforms on simulator, however I failed to run it on android using either run configuration -> Android -> Device) and RhoMobile -> Production Build -> Android, Local. 该应用程序还可以在模拟器上的所有平台上运行,但是我无法使用运行配置-> Android-> Device)和RhoMobile-> Production Build-> Android,Local在Android上运行它。

I've installed Android SDK, and NDK. 我已经安装了Android SDK和NDK。 I run keytool.exe manually since cert generation requires keyboard input and it blocked rake script. 我手动运行keytool.exe ,因为生成证书需要键盘输入,并且它阻止了rake脚本。 Generally builds are ok, and I have RhoMobileApplication1-debug.apk or RhoMobileApplication1-signed.apk. 通常构建可以,我有RhoMobileApplication1-debug.apk或RhoMobileApplication1-signed.apk。

Then I deploy it to the device adb install *.apk 然后我将其部署到设备adb install *.apk

And when I run the app it almost immediately crashes with standard android messagebox when something goes really wrong. 当我运行该应用程序时,如果出现实际错误,它几乎会立即与标准android消息框一起崩溃。 So i did adb logcat to file and figure out that possibly cause is that when loading librhodes.so it tries to load soinfo_relocate and fail. 所以我将adb logcat归档并找出可能原因是在加载librhodes.so时尝试加载soinfo_relocate并失败。

However at this point my superpowers failed me, because google gives me only clue that it might be something with the Android NDK itself. 但是在这一点上,我的超级能力使我失败了,因为google仅给我提供了有关Android NDK本身的线索。

Any suggestions? 有什么建议么?

D/AbsListView(29935): unregisterIRListener() is called 

E/dalvikvm( 6074): dlopen("/data/app-lib/com.rhomobile.rhomobileapplication1-1/librhodes.so") failed: Cannot load library: soinfo_relocate(linker.cpp:976): cannot locate symbol "sigemptyset" referenced by "librhodes.so"...

W/dalvikvm( 6074): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/rhomobile/rhodes/RhodesApplication;

W/dalvikvm( 6074): Class init failed in newInstance call (Lcom/rhomobile/rhodes/RhodesApplication;)

D/AndroidRuntime( 6074): Shutting down VM

W/dalvikvm( 6074): threadid=1: thread exiting with uncaught exception (group=0x42040930)

E/AndroidRuntime( 6074): FATAL EXCEPTION: main

E/AndroidRuntime( 6074): java.lang.ExceptionInInitializerError

E/AndroidRuntime( 6074):    at java.lang.Class.newInstanceImpl(Native Method)

E/AndroidRuntime( 6074):    at java.lang.Class.newInstance(Class.java:1319)

E/AndroidRuntime( 6074):    at android.app.Instrumentation.newApplication(Instrumentation.java:1000)

E/AndroidRuntime( 6074):    at android.app.Instrumentation.newApplication(Instrumentation.java:985)

E/AndroidRuntime( 6074):    at android.app.LoadedApk.makeApplication(LoadedApk.java:499)

E/AndroidRuntime( 6074):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4565)

E/AndroidRuntime( 6074):    at android.app.ActivityThread.access$1400(ActivityThread.java:157)

E/AndroidRuntime( 6074):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1349)

E/AndroidRuntime( 6074):    at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime( 6074):    at android.os.Looper.loop(Looper.java:176)

E/AndroidRuntime( 6074):    at android.app.ActivityThread.main(ActivityThread.java:5319)

E/AndroidRuntime( 6074):    at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime( 6074):    at java.lang.reflect.Method.invoke(Method.java:511)

E/AndroidRuntime( 6074):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)

E/AndroidRuntime( 6074):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)

E/AndroidRuntime( 6074):    at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime( 6074): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: soinfo_relocate(linker.cpp:976): cannot locate symbol "sigemptyset" referenced by "librhodes.so"...

E/AndroidRuntime( 6074):    at java.lang.Runtime.loadLibrary(Runtime.java:371)

E/AndroidRuntime( 6074):    at java.lang.System.loadLibrary(System.java:535)

E/AndroidRuntime( 6074):    at com.rhomobile.rhodes.NativeLibraries.load(NativeLibraries.java:5)

E/AndroidRuntime( 6074):    at com.rhomobile.rhodes.RhodesApplication.(RhodesApplication.java:105)

E/AndroidRuntime( 6074):    ... 16 more

D/SensorService( 1959):   -0.1 0.7 10.0

D/CrashAnrDetector( 1959): processName: com.rhomobile.rhomobileapplication1

D/CrashAnrDetector( 1959): broadcastEvent : com.rhomobile.rhomobileapplication1 data_app_crash

RhoMobileSuite5.2.2 RhoMobileSuite5.2.2

jre1.8.0_51 jre1.8.0_51

android-ndk-r10e Android的NDK-r10e

phone with android 4.2.2 装有Android 4.2.2的手机

tablet with android 4.4.2 平板电脑与Android 4.4.2

RhoMobile doesn't support at this moment NDK r10, you need to use NDK r9, as documented on RhoMobile documentation website . RhoMobile目前不支持NDK r10,您需要使用NDK r9,如RhoMobile文档网站上所述

On RhoMobile developer forums there're some discussion about other issues linked to people using NDK r10: 在RhoMobile开发人员论坛上,有一些与使用NDK r10的人相关的其他问题的讨论:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM