Android: First ever running arm64 version for the mobile app ...

Dirk Hohndel dirk at hohndel.org
Thu Jul 11 09:00:51 PDT 2019


> On Jul 11, 2019, at 5:06 AM, Jan Mulder <jlmulder at xs4all.nl> wrote:
> 
> ... with working Bluetooth download :-)

That's exciting news! Yay.

> After a long period of absence from Subsurface, Dirk was successful in motivating me again to work on something. So, I took on the challenge to get the Android mobile app running in arm64 mode working for BT/BLE downloads from DC.
> 
> People here might remember that the arm build was working, but the arm64 build was persistently crashing hard on any BT/BLE interaction. Which would become a huge issue, as Google is going to kick out apps from its Play store, that are not supported on both arm and arm64 architectures any time soon.

Deadline for this is indeed August 1st - after that we won't be able to post new app versions without arm64. Existing app / last version published won't be delisted until later this year (I believe November)

> Always having the idea that the BT download issue could be Qt related, my first plan was to build against a newer Qt, as reporting bugs to Qt is likely not going to be very successful when running older Qt version.
> 
> So, step 1. Upgraded to Qt 5.12.4 (Qt 13.0 still to be tested). This opened a can of worms, as we were still running a 1.0 OpenSSL version. The step to 1.1 OpenSSL appeared to be the major hurdle in this process (and the pull request the will follow tomorrow will show why). In addition some gradle plugin updates, and all builds again (locally).
> 
> And @Berthold. https://github.com/Subsurface-divelog/subsurface/issues/2167 is not reproducible on the arm64 build (but persistent on the arm build). So, I believe its likely memory corruption somewhere, but had no time to investigate this any further.

Investigating memory corruptions is almost always easier using Valgrind with mobile-on-desktop

> @Dirk. I did not do any Docker things (yet), but very likely, a new Docker image is needed in this process.

I do this so rarely that I end up re-learning part of it every time I try. But I know that last time I documented this reasonably well so I hope that once you have a working process I can manage to create a new Docker image for it fairly quickly.

Thank you so much for working on this. That's a huge deal for the project.

/D


More information about the subsurface mailing list