Build Android packages that use SDL.
This cargo tool aims to be for Rust SDL what cargo-apk is for Glutin, and cargo-quad-apk is for Miniquad. That is, a simple command to package up an APK and upload it to your phone and start it. The way it works internally is by automating the steps described in this article by Julian Heinken. I created it as a tool for my UI library Appy, but it can be used for other Rust SDL projects as well.
- Install with
cargo install cargo-sdl-apk
. - Make sure you have the following:
- The SDL source, clone it from here. Make sure you have the
release-2.26.x
branch. - Java. Muse be jdk17 (doesn't work with jdk19).
- Android SDK with command line tools.
- Android NDK.
- The SDL source, clone it from here. Make sure you have the
- Set the environment variables:
ANDROID_HOME
pointing to the Android SDK.ANDROID_NDK_HOME
pointing to the Android NDK.SDL
pointing to the SDL source dir.
- Run
cargo sdl-apk build
orcargo sdl-apk run
from inside your SDL application crate. You can also usecargo sdl-apk run --example some_example
to run a crate example, in a similar way as you would do with cargo.
The entry point for your application must be called SDL_main
and use the attribute #[no_mangle]
. Here is
an example project. To build/run the
project, cd into it and run cargo sdl-apk build
or cargo sdl-apk run
.