Skip to content

Track language binding support on Android #522

Description

@sargunv-bot

CI builds the C API and the Rust, Go, Kotlin/Android, Dart, and Zig bindings for every Android preset. The C API and the Rust, Go, Kotlin/Android, and Zig suites run on an x86_64 Android emulator for both android-x64-egl and android-x64-vulkan. The Python suite runs on android-x64-egl. Arm64 remains build-only, and Dart remains build-only on every Android target.

Status values:

  • Tested — CI runs this binding's own suite on the emulator.
  • Built — CI builds this binding for Android, and nothing executes.
  • Not started — no Android coverage yet.
  • Blocked — an upstream toolchain gap has to close first.
  • Not applicable — another binding covers Android.
Binding Status Work required
Rust Tested None. The x64 EGL and Vulkan suites run; arm64 stays build-only.
Go Tested None. The x64 EGL and Vulkan suites run; arm64 stays build-only.
Kotlin/Android Tested None. The x64 EGL and Vulkan suites run; arm64 stays build-only.
Zig Tested None. The x64 EGL and Vulkan suites run; arm64 stays build-only.
Python Tested Add x64 Vulkan coverage. The device harness currently accepts only x64 EGL, installs PyOpenGL but not the Python Vulkan fixture dependency, and needs an Android libvulkan.so loader path.
Dart Built Add a small Flutter Android host that invokes the native-assets hook, packages the Rustls verifier helper, and calls mln_android_init. Run it on the x64 emulator once that host is stable.
C# Not started Large: add a net10.0-android target, package native assets, adapt native loading, initialize JNI state, and add an application and emulator test host.
Swift Blocked The official Swift Android SDK cross-builds the binding but does not provide the Testing module. Add device tests when upstream supports them, or add an application smoke host.
Kotlin/Native Not started Add Android Kotlin/Native build and emulator test coverage.

A binding reaches Tested by running its own suite on the emulator. That suite calls the ABI version, creates a runtime, and exercises a headless render or an application smoke test. The x64 emulator provides SwiftShader GLES and Vulkan. Arm64 targets stay build-only until CI gains an arm64 device runner.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    androidSupport for the android platform

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions