Running Erlang/OTP on Android

Is it possible to compile & run Erlang/OTP on Android? Is there any support for this ability?

1 Like

It works on termux, at least:

1 Like

A few years ago, I got it building and working on arm, maybe it might be a place to start.

Indeed, you can run Erlang/OTP on Android, it has been adapted over the years to take into account some of the restrictions of the Android operating system vs. a regular Linux distribution.

For an example showing how to run some Erlang code within an Android application, you can have a look at this sample project : GitHub - JeromeDeBretagne/erlanglauncher: Example of Android/Erlang communication with Jinterface; fork from knewter's code

To cross-compile the Erlang/OTP releases for Android, you can follow the instructions from the official repository : https://github.com/erlang/otp/blob/master/HOWTO/INSTALL-ANDROID.md

In this repository finally : GitHub - JeromeDeBretagne/erlang-otp-releases-for-android I have built and shared some pre-compiled versions for Android, as deterministically as possible, up to Erlang/OTP 25.0.4 last year and I will try to update this repo in the coming months.

I hope this post will give some useful pointers to anyone interested in running Erlang/OTP on Android. Any feedback will be deeply appreciated by the way :+1:

4 Likes

For elixir-desktop in order to make the beam run on android+ios as proper Apps I’ve created a runtime project to build the different binaries myself. It might be a good reference for the build procedure: https://github.com/elixir-desktop/runtimes/blob/master/lib/mix/tasks/android_beam.dockerfile

Also the android-example app ships with pre-built binaries from the runtimes project: GitHub - elixir-desktop/android-example-app: Android Studio project wrapper around the Elixir TodoApp Desktop app to run on Android including the Erlang runtime

2 Likes