Running Subsurface on Lollipop

Anton Lundin glance at acc.umu.se
Fri Sep 27 06:08:22 PDT 2019


On 27 September, 2019 - Anton Lundin wrote:

> On 26 September, 2019 - Dirk Hohndel wrote:
> 
> > 
> > > On Sep 26, 2019, at 1:49 PM, Anton Lundin <glance at acc.umu.se> wrote:
> > > 
> > > On 26 September, 2019 - Dirk Hohndel wrote:
> > > 
> > >> I didn't think it would even install on Android 5.0... but looking through the Google Play stats we do in fact appear to have about 50 users on that version.
> > >> Interesting.
> > >> I have no idea how I would make Subsurface support different openssl versions.
> > >> 
> > >> Can you send the log - I'll dig around to see if I still have an Android 5.0 device...
> > > 
> > > I'm pretty sure we bundle the right openssl library, and use that.
> > > 
> > > 
> > > The question is, whats the actual error?
> > > 
> > > 
> > > Probably that the openssl libraries uses ndk symbols which the linker
> > > can't find in such a old os, and fails there.
> > 
> > 
> > So I didn't find an Android 5.0 devices (and I have so many devices, it's 
> > ridiculous), but I found a Nexus 10 with Android 5.1 and that happily syncs
> > with the cloud... So yes, I'd love to see an actual log that shows us what's
> > going wrong.
> 
> You could always fire up a Android 5.0 in the emulator and test it
> there. I'm currently flogging my laptop with testing ci-sytem changes
> for work, but when i get some spare cycles I might test to spin up a
> emulator and try it in that.
> 

After quite a bit of 4kery i managed to build a
subsurface-android-x86_64.apk and test it in a android 5.0 (api 21)
emulator and here's where it crashed:
E/AndroidRuntime( 3525): FATAL EXCEPTION: qtMainLoopThread
E/AndroidRuntime( 3525): Process: org.subsurfacedivelog.mobile, PID: 3525
E/AndroidRuntime( 3525): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "BIO_get_data" referenced by "/data/app/org.subsurfacedivelog.mobile-1/lib/x86_64/libssl.so"...
E/AndroidRuntime( 3525): 	at java.lang.Runtime.load(Runtime.java:331)
E/AndroidRuntime( 3525): 	at java.lang.System.load(System.java:982)
E/AndroidRuntime( 3525): 	at org.qtproject.qt5.android.QtNative$3.run(QtNative.java:239)
E/AndroidRuntime( 3525): 	at org.qtproject.qt5.android.QtThread$2.run(QtThread.java:87)
E/AndroidRuntime( 3525): 	at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
E/AndroidRuntime( 3525): 	at java.lang.Thread.run(Thread.java:818)
W/ActivityManager( 1487):   Force finishing activity org.subsurfacedivelog.mobile/.SubsurfaceMobileActivity
I/WindowManager( 1487): Screenshot max retries 4 of Token{16028d3 ActivityRecord{375c72c2 u0 org.subsurfacedivelog.mobile/.SubsurfaceMobileActivity t5 f}} appWin=Window{1939df4b u0 Starting org.subsurfacedivelog.mobile} drawState=4



On android-28, it expoded a bit differently:
09-27 15:02:59.288  4776  4776 W edivelog.mobil: Accessing hidden field Landroid/graphics/NinePatch;->mNativeChunk:J (light greylist, reflection)
09-27 15:02:59.288  4776  4776 E edivelog.mobil: No implementation found for int[] org.qtproject.qt5.android.ExtractStyle.extractNativeChunkInfo20(long) (tried Java_org_qt
project_qt5_android_ExtractStyle_extractNativeChunkInfo20 and Java_org_qtproject_qt5_android_ExtractStyle_extractNativeChunkInfo20__J)


Whats the take away? Don't know. Either I can't build subsurface-mobile
for x86_64 or somethings broken.


//Anton

-- 
Anton Lundin	+46702-161604


More information about the subsurface mailing list