iris: add the android-app cdylib crate (I2, part 3)
iris/android-app is the concrete app RUST.md's I2 is judged against: JNI_OnLoad, a Client implementing AndroidAppState, and new_view_peer wrapping iris::android::new_peer's generic function in the plain function pointer register_view_class needs. Its UI is tabs-ui::build, unchanged from the winit example. Deliberately excluded from the iris workspace (iris/Cargo.toml's new `exclude`): android-view needs the NDK sysroot to link, so folding this crate in would break `cargo build --workspace --all-targets` on the host. It resolves as its own single-crate workspace instead, built with `cd iris/android-app && cargo ndk -t x86_64 -P 26 build`. Verified: cross-compiles and clippys clean for x86_64-linux-android API 26; the host iris workspace (build/clippy/fmt/19 tests) is unaffected. Not yet built: the Gradle shell (IrisView.java, MainActivity, AndroidManifest) to actually install and run this on the emulator -- next in RUST.md's I2. Co-Authored-By: Claude Sonnet <noreply@anthropic.com>
This commit is contained in:
1 parent
9c935f8ce8
commit
f79bd7ca71
5 files changed
+4280
No files matched your search
@@ -49,6 +49,13 @@ tabs-ui = { path = "tabs-ui" }
|
||||
|
||||
[workspace]
|
||||
members = ["core", "macro", "tabs-ui"]
|
||||
# android-app pulls in android-view, which needs the NDK sysroot to link
|
||||
# -- excluded so `cargo build --workspace --all-targets` on the host stays
|
||||
# buildable. Cross-compile it from its own directory (its own single-crate
|
||||
# workspace, since it has no `[workspace]` table of its own and this
|
||||
# exclusion stops it inheriting this one): `cd android-app && cargo ndk
|
||||
# -t x86_64 -P 26 build`.
|
||||
exclude = ["android-app"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.1.0"
|
||||
|
||||
Reference in new issue
Block a user