Files
android-activity/examples/na-mainloop
Marijn Suijten 6a0197c28f Upgrade to ndk-sys 0.6.0 and ndk 0.9.0
The next breaking `ndk` release puts a lot of emphasis in improving
`enum`s to finally be marked `non_exhaustive`, and carry possible future
values in `__Unknown(i32)` variants.  This removes the lossy conversions
that previously required `android-activity` to redefine its types, which
could all be removed again.

The `repr()` types have also been updated, as `enum` constants in C are
translated to `u32` by default in `bindgen` even though they're commonly
passed as `int` to every API function that consumes them.
2024-04-26 16:36:38 +01:00
..
2023-06-26 00:08:48 +01:00
2023-06-26 00:08:48 +01:00
2023-06-26 00:08:48 +01:00
2023-06-26 00:08:48 +01:00
2022-07-03 23:34:25 +01:00

This is a minimal test application based on NativeActivity that just runs a mainloop based on android_activity::poll_events() and traces the events received without doing any rendering. It also saves and restores some minimal application state.

Since this test doesn't require a custom Activity subclass it's optionally possible to build this example with cargo apk.

Gradle Build

export ANDROID_NDK_HOME="path/to/ndk"
export ANDROID_HOME="path/to/sdk"

rustup target add aarch64-linux-android
cargo install cargo-ndk

cargo ndk -t arm64-v8a -o app/src/main/jniLibs/  build
./gradlew build
./gradlew installDebug

Cargo APK Build

export ANDROID_NDK_HOME="path/to/ndk"
export ANDROID_SDK_HOME="path/to/sdk"

rustup target add aarch64-linux-android
cargo install cargo-apk

cargo apk build
cargo apk run