Beta for Android

Dirk Hohndel dirk at hohndel.org
Sat Jan 14 10:41:56 PST 2017


On Sat, Jan 14, 2017 at 07:29:09PM +0100, Anton Lundin wrote:
> On 13 January, 2017 - Dirk Hohndel wrote:
> 
> > On Sun, Jan 08, 2017 at 05:50:17PM -0800, Dirk Hohndel wrote:
> > > 
> > > > On Jan 8, 2017, at 12:54 PM, Martin Long <martin at longhome.co.uk> wrote:
> > > > 
> > > > 
> > > > 
> > > > Where can I find documentation for building Android binaries? It's not on https://subsurface-divelog.org/documentation/building/ <https://subsurface-divelog.org/documentation/building/>  
> > > > 
> > > > My mistake. I've found it in the INSTALL file. Thanks.  
> > > 
> > > I hadn't built for Android in a while. With the latest Kirigami I cannot
> > > build working packages for either iOS or Android.
> > > 
> > > I'm running out of time this weekend, not sure when I'll be able to
> > > figure this out - so this is just a heads-up...
> > 
> > This has not been forgotten, I'm just stumped and cannot figure out how to
> > make this work. Anton, are you able to build a working Android binary with
> > current master? Tomaz, have you taken a look, yet?
> 
> Builds just fine for me.

It does indeed build fine (for ARM).

Have you been able to run it on an Android device? That's what isn't
working, it fails trying to load a module 

01-14 10:37:08.181  7928  7952 W Subsurface: (null):0 ((null)): QQmlApplicationEngine failed to load component
01-14 10:37:08.181  7928  7952 W Subsurface: (null):0 ((null)): qrc:///qml/main.qml:359 Type DiveDetails unavailable
01-14 10:37:08.181  7928  7952 W Subsurface: qrc:///qml/DiveDetails.qml:219 Type Kirigami.OverlaySheet unavailable
01-14 10:37:08.181  7928  7952 W Subsurface: qrc:/OverlaySheet.qml:33 Type T.OverlaySheet unavailable
01-14 10:37:08.181  7928  7952 W Subsurface: qrc:/templates/OverlaySheet.qml:23 module "QtQuick.Templates" is not installed

I have the same error on iOS, but not when running things on the desktop.

> There's a bug in qt-android-cmake, when building the x86 version, but
> that can be solved with a symlink: 
> android-ndk-r13b/toolchains/i686-linux-android-4.9 -> x86-4.9
> 
> The app doesn't run due to:
> 
> java.lang.reflect.InvocationTargetException
> 	at java.lang.reflect.Method.invoke(Native Method)
> 	at org.qtproject.qt5.android.bindings.QtLoader.loadApplication(QtLoader.java:237)
> 	at org.qtproject.qt5.android.bindings.QtLoader.startApp(QtLoader.java:647)
> 	at org.qtproject.qt5.android.bindings.QtActivityLoader.onCreate(QtActivityLoader.java:181)
> 	at org.qtproject.qt5.android.bindings.QtActivity.onCreate(QtActivity.java:269)
> 	at android.app.Activity.performCreate(Activity.java:6679)
> 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
> 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
> 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
> 	at android.app.ActivityThread.-wrap12(ActivityThread.java)
> 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
> 	at android.os.Handler.dispatchMessage(Handler.java:102)
> 	at android.os.Looper.loop(Looper.java:154)
> 	at android.app.ActivityThread.main(ActivityThread.java:6119)
> 	at java.lang.reflect.Method.invoke(Native Method)
> 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
> 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
> Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "libcrypto.so.1.0.0" not found
> 	at java.lang.Runtime.load0(Runtime.java:908)
> 	at java.lang.System.load(System.java:1505)
> 	at org.qtproject.qt5.android.QtNative.loadBundledLibraries(QtNative.java:191)
> 	at org.qtproject.qt5.android.QtActivityDelegate.loadApplication(QtActivityDelegate.java:512)
> 	... 17 more

I haven't tried Android x86 for ages. No one ever used the binary and it
just turned into yet another thing to do... I don't recall this specific
bug, but there were so many and it was so long ago... a quick search of
the mailing list doesn't give me anything insightful, either.

/D


More information about the subsurface mailing list