feat(android): add yrs-android AAR (JNI binding to the yrs CRDT core)#1
Merged
Conversation
Android sibling of the committed Apple xcframework: a thin Gradle android-library
that exposes the same yrs Rust core to Kotlin via a JNI shim, packaged as an AAR
with the per-ABI libyrs_android.so committed (consumers need no Rust, exactly like
the xcframework). Maintainers regenerate the .so with scripts/build-aar.sh (cargo-ndk).
Consumed from GitHub via JitPack:
repositories { maven("https://jitpack.io") }
implementation("com.github.Contio-AI:YrsFFI:0.25.1")
YrsNative (package ai.contio.yrs) is the raw JNI boundary; idiomatic YDoc/YText
wrappers live downstream, mirroring the Apple side. README updated for both platforms.
d85adf0 to
b0cf6ae
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds an Android sibling to the committed Apple
YrsFFI.xcframework: a thin Gradle android-library (android/) that exposes the same yrs 0.25.x Rust core to Kotlin via a JNI shim, packaged as an AAR with the per-ABIlibyrs_android.socommitted (consumers need no Rust — exactly like the xcframework).Consumption (no release pipeline)
Served from GitHub via JitPack — verified building on this branch:
repositories { maven("https://jitpack.io") } implementation("com.github.Contio-AI:YrsFFI:0.25.1")The Gradle analog of how SwiftPM consumes the xcframework by git URL. The branch build produced a valid AAR (
ai.contio.yrs.YrsNative+ 4jni/<abi>/libyrs_android.so).Layout
android/rust/— JNI shim crate (bindsyrsdirectly; one fewer FFI hop than the C ABI).android/yrs-android/— android-library; committed.soundersrc/main/jniLibs;maven-publishfor JitPack.scripts/build-aar.sh— maintainer cargo-ndk rebuild (pins~/.cargo/binso a non-rustup cargo doesn't shadow the Android targets).jitpack.yml— builds only theandroid/Gradle project.YrsNative(pkgai.contio.yrs) is the raw JNI boundary; idiomaticYDoc/YTextwrappers live downstream, mirroring the Apple side.README updated to document both platforms.
After merge: tag
0.25.1(additive Android slice, no upstream change).