Elements supports creating applications for the Android mobile platform, both using the Android SDK and the Android NDK.

The bulk of most applications will be build against the Java-based Android SDK, which provides a wide range of high level APIs for building GUI applications and accessing system services. Android SDK based applications compile directly to Java Byte Code, and from there are further processed using Android's DEX or D8 processors to a special byte code format used by the Android runtime.

In addition, Elements allows you to build extensions using the native Android NDK (Native Development Kit). NDK executables are extensions compiled to CPU-native code for ARM, and interact with more low-level C-based APIs of the Android and its underlying Linux operating system. NDK extensions can be loaded into an Android SDK-based application, and the two parts can interact via JNI, as needed.

Of course the main use for Android NDK code is to mix with an Java-based Android SDK app, and Elements makes this really easy.

Of course Android projects can use any of the five Elements languages, Oxygene, C#, Swift, Java and Go.



See Also

Compiler Back-ends

  • Cooper — for Java-based Android SDK
  • Island/Android — for Android NDK