11 Replies Latest reply on Nov 23, 2012 12:30 AM by Alexey Tikhvinsky

    Native View problem for Android

      I've started playing around with Native Extensions and Native Views - and I've hit a problem on Android.  (iPhone - everything is fine).

       

      The program crashes on start-up in the Android Simulator.  At this point, I haven't even switched to the native view - the app is just starting up - and from the stack trace - it doesn't look directly related to my code at all - but possibly a missing library, or link, or something.

       

      Apologies for pasting the stack trace here - but maybe someone has seen this problem before - and knows of a remedy?

       

      11-16 18:17:52.893: E/EkiohView(280): Failed (link): Library eklibrary not found

      11-16 18:17:52.893: E/EkiohView(280): java.lang.UnsatisfiedLinkError: Library eklibrary not found

      11-16 18:17:52.893: E/EkiohView(280):           at java.lang.Runtime.loadLibrary(Runtime.java:489)

      11-16 18:17:52.893: E/EkiohView(280):           at java.lang.System.loadLibrary(System.java:557)

      11-16 18:17:52.893: E/EkiohView(280):           at com.ekioh.engine.EkiohView.loadLibrary(EkiohView.java:1626)

      11-16 18:17:52.893: E/EkiohView(280):           at com.ekioh.engine.EkiohView.<clinit>(EkiohView.java:1652)

      11-16 18:17:52.893: E/EkiohView(280):           at com.rhomobile.rhodes.webview.EkiohWebView.<init>(EkiohWebView.java:70)

      11-16 18:17:52.893: E/EkiohView(280):           at java.lang.reflect.Constructor.constructNative(Native Method)

      11-16 18:17:52.893: E/EkiohView(280):           at java.lang.reflect.Constructor.newInstance(Constructor.java:446)

      11-16 18:17:52.893: E/EkiohView(280):           at com.rhomobile.rhodes.RhodesActivity.createWebView(RhodesActivity.java:167)

      11-16 18:17:52.893: E/EkiohView(280):           at com.rhomobile.rhodes.RhodesActivity.onCreate(RhodesActivity.java:124)

      11-16 18:17:52.893: E/EkiohView(280):           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

      11-16 18:17:52.893: E/EkiohView(280):           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)

      11-16 18:17:52.893: E/EkiohView(280):           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)

      11-16 18:17:52.893: E/EkiohView(280):           at android.app.ActivityThread.access$2200(ActivityThread.java:119)

      11-16 18:17:52.893: E/EkiohView(280):           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)

      11-16 18:17:52.893: E/EkiohView(280):           at android.os.Handler.dispatchMessage(Handler.java:99)

      11-16 18:17:52.893: E/EkiohView(280):           at android.os.Looper.loop(Looper.java:123)

      11-16 18:17:52.893: E/EkiohView(280):           at android.app.ActivityThread.main(ActivityThread.java:4363)

      11-16 18:17:52.893: E/EkiohView(280):           at java.lang.reflect.Method.invokeNative(Native Method)

      11-16 18:17:52.893: E/EkiohView(280):           at java.lang.reflect.Method.invoke(Method.java:521)

      11-16 18:17:52.893: E/EkiohView(280):           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)

      11-16 18:17:52.893: E/EkiohView(280):           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

      11-16 18:17:52.893: E/EkiohView(280):           at dalvik.system.NativeStart.main(Native Method)

      11-16 18:17:53.143: E/EkiohView(280): Failed (link): Library webkit_ekioh not found

      11-16 18:17:53.143: E/EkiohView(280): java.lang.UnsatisfiedLinkError: Library webkit_ekioh not found

      11-16 18:17:53.143: E/EkiohView(280):           at java.lang.Runtime.loadLibrary(Runtime.java:489)

      11-16 18:17:53.143: E/EkiohView(280):           at java.lang.System.loadLibrary(System.java:557)

      11-16 18:17:53.143: E/EkiohView(280):           at com.ekioh.engine.EkiohView.loadLibrary(EkiohView.java:1626)

      11-16 18:17:53.143: E/EkiohView(280):           at com.ekioh.engine.EkiohView.<clinit>(EkiohView.java:1653)

      11-16 18:17:53.143: E/EkiohView(280):           at com.rhomobile.rhodes.webview.EkiohWebView.<init>(EkiohWebView.java:70)

      11-16 18:17:53.143: E/EkiohView(280):           at java.lang.reflect.Constructor.constructNative(Native Method)

      11-16 18:17:53.143: E/EkiohView(280):           at java.lang.reflect.Constructor.newInstance(Constructor.java:446)

      11-16 18:17:53.143: E/EkiohView(280):           at com.rhomobile.rhodes.RhodesActivity.createWebView(RhodesActivity.java:167)

      11-16 18:17:53.143: E/EkiohView(280):           at com.rhomobile.rhodes.RhodesActivity.onCreate(RhodesActivity.java:124)

      11-16 18:17:53.143: E/EkiohView(280):           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

      11-16 18:17:53.143: E/EkiohView(280):           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)

      11-16 18:17:53.143: E/EkiohView(280):           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)

      11-16 18:17:53.143: E/EkiohView(280):           at android.app.ActivityThread.access$2200(ActivityThread.java:119)

      11-16 18:17:53.143: E/EkiohView(280):           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)

      11-16 18:17:53.143: E/EkiohView(280):           at android.os.Handler.dispatchMessage(Handler.java:99)

      11-16 18:17:53.143: E/EkiohView(280):           at android.os.Looper.loop(Looper.java:123)

      11-16 18:17:53.143: E/EkiohView(280):           at android.app.ActivityThread.main(ActivityThread.java:4363)

      11-16 18:17:53.143: E/EkiohView(280):           at java.lang.reflect.Method.invokeNative(Native Method)

      11-16 18:17:53.143: E/EkiohView(280):           at java.lang.reflect.Method.invoke(Method.java:521)

      11-16 18:17:53.143: E/EkiohView(280):           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)

      11-16 18:17:53.143: E/EkiohView(280):           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

      11-16 18:17:53.143: E/EkiohView(280):           at dalvik.system.NativeStart.main(Native Method)

      11-16 18:17:53.435: E/EkiohView(280): Failed (link): Library ekiohplatform not found

      11-16 18:17:53.435: E/EkiohView(280): java.lang.UnsatisfiedLinkError: Library ekiohplatform not found

      11-16 18:17:53.435: E/EkiohView(280):           at java.lang.Runtime.loadLibrary(Runtime.java:489)

      11-16 18:17:53.435: E/EkiohView(280):           at java.lang.System.loadLibrary(System.java:557)

      11-16 18:17:53.435: E/EkiohView(280):           at com.ekioh.engine.EkiohView.loadLibrary(EkiohView.java:1626)

      11-16 18:17:53.435: E/EkiohView(280):           at com.ekioh.engine.EkiohView.<clinit>(EkiohView.java:1654)

      11-16 18:17:53.435: E/EkiohView(280):           at com.rhomobile.rhodes.webview.EkiohWebView.<init>(EkiohWebView.java:70)

      11-16 18:17:53.435: E/EkiohView(280):           at java.lang.reflect.Constructor.constructNative(Native Method)

      11-16 18:17:53.435: E/EkiohView(280):           at java.lang.reflect.Constructor.newInstance(Constructor.java:446)

      11-16 18:17:53.435: E/EkiohView(280):           at com.rhomobile.rhodes.RhodesActivity.createWebView(RhodesActivity.java:167)

      11-16 18:17:53.435: E/EkiohView(280):           at com.rhomobile.rhodes.RhodesActivity.onCreate(RhodesActivity.java:124)

      11-16 18:17:53.435: E/EkiohView(280):           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

      11-16 18:17:53.435: E/EkiohView(280):           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)

      11-16 18:17:53.435: E/EkiohView(280):           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)

      11-16 18:17:53.435: E/EkiohView(280):           at android.app.ActivityThread.access$2200(ActivityThread.java:119)

      11-16 18:17:53.435: E/EkiohView(280):           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)

      11-16 18:17:53.435: E/EkiohView(280):           at android.os.Handler.dispatchMessage(Handler.java:99)

      11-16 18:17:53.435: E/EkiohView(280):           at android.os.Looper.loop(Looper.java:123)

      11-16 18:17:53.435: E/EkiohView(280):           at android.app.ActivityThread.main(ActivityThread.java:4363)

      11-16 18:17:53.435: E/EkiohView(280):           at java.lang.reflect.Method.invokeNative(Native Method)

      11-16 18:17:53.435: E/EkiohView(280):           at java.lang.reflect.Method.invoke(Method.java:521)

      11-16 18:17:53.435: E/EkiohView(280):           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)

      11-16 18:17:53.435: E/EkiohView(280):           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

      11-16 18:17:53.435: E/EkiohView(280):           at dalvik.system.NativeStart.main(Native Method)

       

      11-16 18:17:56.653: E/AndroidRuntime(280): Uncaught handler: thread main exiting due to uncaught exception

      11-16 18:17:56.854: E/AndroidRuntime(280): java.lang.UnsatisfiedLinkError: isEngineRunningNative

      11-16 18:17:56.854: E/AndroidRuntime(280):           at com.ekioh.engine.EkiohView.isEngineRunningNative(Native Method)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at com.ekioh.engine.EkiohView.handleSurfaceCreated(EkiohView.java:987)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at com.ekioh.engine.EkiohView.access$000(EkiohView.java:34)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at com.ekioh.engine.EkiohView$SurfaceHolderCallback.surfaceCreated(EkiohView.java:96)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.SurfaceView.updateWindow(SurfaceView.java:454)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.SurfaceView.dispatchDraw(SurfaceView.java:287)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.View.draw(View.java:6538)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.widget.FrameLayout.draw(FrameLayout.java:352)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.drawChild(ViewGroup.java:1531)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.drawChild(ViewGroup.java:1529)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.View.draw(View.java:6538)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.widget.FrameLayout.draw(FrameLayout.java:352)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1830)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewRoot.draw(ViewRoot.java:1349)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewRoot.performTraversals(ViewRoot.java:1114)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.view.ViewRoot.handleMessage(ViewRoot.java:1633)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.os.Handler.dispatchMessage(Handler.java:99)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.os.Looper.loop(Looper.java:123)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at android.app.ActivityThread.main(ActivityThread.java:4363)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at java.lang.reflect.Method.invokeNative(Native Method)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at java.lang.reflect.Method.invoke(Method.java:521)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

      11-16 18:17:56.854: E/AndroidRuntime(280):           at dalvik.system.NativeStart.main(Native Method)

      11-16 18:17:56.924: E/dalvikvm(280): Unable to open stack trace file '/data/anr/traces.txt': Permission denied