You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 27, 2026. It is now read-only.
The pre-built Erlang runtime for Android ARM/ARM64/x86 is embedded in this example git repository. These native runtime files include Erlang OTP and the exqlite nif to use SQLite on the mobile. These runtimes are generated using the CI of the [Desktop Runtime](https://github.com/elixir-desktop/runtimes) repository.
10
8
11
-
1. Go to "Files -> New -> Project from Version Control" and enter this URL: https://github.com/elixir-desktop/android-example-app/
9
+
Because Erlang OTP has many native hooks for networking and cryptographics the Erlang version used to compile your App must match the pre-built binary release that is embedded. In this example that is Erlang OTP 25.0.4. This sample is shipping with a `.tool-versions` file that `asdf` will automatically use to automate this requirement.
12
10
13
-
1. Update the `run_mix`to activate the correct Erlang/Elixir version during build.
11
+
## How to build & run
14
12
15
-
1.[Connect your Phone](https://developer.android.com/studio/run/device) to Android Studio
The current runtime that is precompiled and sits in assets/ folder is based on dev branch of OTP currently under
33
-
https://github.com/diodechain/otp/tree/diode/beta
34
-
Because the included OTP apps have different versions such as `crypto-5.0.3` you can only compile this project
35
-
with the very same OTP version. You can probably build it with `kerl`. But I'll update the runtime to a newer stable
36
-
OTP build soon`(tm)` because all neccesary changes have been merged by the Erlang team already.
35
+
36
+
## Known todos
37
37
38
38
### Initial Startup could be faster
39
39
@@ -45,10 +45,6 @@ This sample only launch the elixir app and shows it in an Android WebView. There
45
45
46
46
## Other notes
47
47
48
-
- The current sample is using __Android API 23__ and above
49
-
50
-
- The Erlang runtime is for ease of use embedded in this example git repository. The native runtimes for Android ARM, ARM64 and X86_64 and the exqlite nif are are generated using the [Desktop Runtime](https://github.com/elixir-desktop/runtimes) repository.
51
-
52
48
- Android specific settings, icons and metadata are all contained in this Android Studio wrapper project.
53
49
54
50
-`Bridge.kt` and the native library are doing most of the wrapping of the Elixir runtime.
@@ -62,4 +58,4 @@ This sample only launch the elixir app and shows it in an Android WebView. There
The Android App is initializing the Erlang VM and starting it up with a new environment variable `BRIDGE_PORT`. This environment variable is used by the `Bridge` project to connect to a local TCP server _inside the android app_. Through this new TCP communication channel all calls that usually would go to `wxWidgets` are now redirected. The Android side of things implements handling in `Bridge.kt`.
61
+
The Android App is initializing the Erlang VM and starting it up with a new environment variable `BRIDGE_PORT`. This environment variable is used by the `Bridge` project to connect to a local TCP server _inside the android app_. Through this new TCP communication channel all calls that usually would go to `wxWidgets` are now redirected. The Android side of things implements handling in `Bridge.kt`.
0 commit comments