D for Android

Joakim via Digitalmars-d digitalmars-d at puremagic.com
Thu Jul 30 12:38:10 PDT 2015


On Monday, 25 May 2015 at 20:08:48 UTC, Joakim wrote:
> On Monday, 18 May 2015 at 15:47:07 UTC, Joakim wrote:
>> Sure, have fun with your new devices. :) Hopefully, I'll get 
>> Android/ARM working before then, but I don't and won't have 
>> any AArch64 devices to test.  Not that it matters, as 64-bit 
>> ARM has even less share than x86 right now.
>
> Earlier this week, I stumbled across a way to get TLS working 
> with ldc for Android/ARM, similar to the approach used for 
> Android/x86 so far.  Exception-handling on ARM for ldc is 
> currently unfinished 
> (https://github.com/ldc-developers/ldc/issues/489), so if I 
> disable a handful of tests related to that, I get 36 of 42 
> druntime modules' unit tests and around 31 of 70 phobos 
> modules' unit tests to pass.  All tests were run from the 
> command line on my Android tablet.  It appears there are issues 
> related to unicode and the GC causing many of the remaining 
> failures.

Some good news, I've made progress on the port to Android/ARM, 
using ldc's 2.067 branch.  Currently, all 46 modules in druntime 
and 85 of 88 modules in phobos pass their tests (I had to comment 
out a few tests across four modules) when run on the 
command-line.  There is a GC issue that causes 2-3 other modules 
to hang only when the tests are run as part of an Android 
app/apk, ie a D shared library that's invoked by the Java runtime.

I've compiled an Android/ARM app that will run the remaining 
majority of tests on Android 5 Lollipop or newer, which you can 
download and try out on your Android 5 devices:

https://github.com/joakim-noah/android/releases/tag/apk

All tests run on my Android 5.1 device, while the last two 
modules tested by this app hang on an Android 5.0 device I 
tested.  All patches used are linked from the above release.


More information about the Digitalmars-d mailing list