https://github.com/elixir-desktop/runtimes
Erlang / Elixir runtimes for Android and iOS
https://github.com/elixir-desktop/runtimes
Last synced: 11 months ago
JSON representation
Erlang / Elixir runtimes for Android and iOS
- Host: GitHub
- URL: https://github.com/elixir-desktop/runtimes
- Owner: elixir-desktop
- License: mit
- Created: 2021-05-10T14:28:36.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-10T18:35:22.000Z (about 1 year ago)
- Last Synced: 2025-03-29T06:22:15.959Z (12 months ago)
- Language: C
- Homepage:
- Size: 57.6 KB
- Stars: 49
- Watchers: 4
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Elixir-Desktop Runtimes
To use elixir-desktop on mobile-phones this projects packages the BEAM Virtual Machine into platform specific binaries. Currently supported are:
- Android arm 64-bit
- Android arm 32-bit
- Android x86 64-bit (for the Android Simulator)
- iOS arm 64-bit (current iPhones)
- iOS arm 64-bit (MacOS M1 Simulator)
- iOS x86_64 (MacOS Intel Simulator)
## Building Android Runtimes
Android runtimes depends on docker and the dockercross/* docker-images created for cross-compilation. If docker is installed for your current user then building all the runtimes bundled in a zip file is as easy as:
`mix package.android.runtime`
After this you should have all runtimes in `_build/#{arch}-runtime.zip` these then will need to be packaged with your mobile app.
## Building iOS Runtimes
For iOS builds are triggered similiary with:
`mix package.ios.runtime`
After the build succeeds there will be a xcframework directory in _build/liberlang.xcframework. Copy this into your Xcode project and add it to your target.
## Android Versions and API-Levels (update Apr. 2024)
Just for reference from https://apilevels.com/, currently we're only supporting ABI >= 23
| Culumative usage | Version | API Level |
| ------------ | ------- | --------- |
| 0% | Android 15 | (API level 35) |
| 16.30% | Android 14 | (API level 34) |
| 42.50% | Android 13 | (API level 33) |
| 59.50% | Android 12 | (API level 31+32) |
| 75.70% | Android 11 | (API level 30) |
| 84.50% | Android 10 | (API level 29) |
| 90.20% | Android 9 | (API level 28) |
| 92.10% | Android 8.1 | (API level 27) |
| 95.10% | Android 8.0 | (API level 26) |
| 95.6% | Android 7.1 | (API level 25) |
| 97.00% | Android 7.0 | (API level 24) |
| 98.40% | Android 6.0 | (API level 23) |