mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-11-13 04:10:49 +08:00
* fix(android): move the log toggle native into ffi.FFI Custom clients move the Kotlin classes out of com.carriez.flutter_hbb. DocumentLogs declared setEnabled as a native method, so its export Java_com_carriez_flutter_1hbb_DocumentLogs_setEnabled did not link there and the app crashed on start with UnsatisfiedLinkError. The ffi package keeps its name, so declare the native in ffi.FFI like the others and call it from DocumentLogs. Fixes rustdesk/rustdesk-server-pro#1035 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JAxkkiaGp2k8okvs4MpCUq * ci(android): fail when a JNI native is outside ffi.FFI Only ffi.FFI survives the package rename custom clients do. Check in the Android build that every Rust JNI export is Java_ffi_FFI_* and that no Kotlin file but ffi.kt declares an external fun, and write the rule down in AGENTS.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JAxkkiaGp2k8okvs4MpCUq * ci(android): report every JNI rule violation and check class lookups Run the checks independently so one CI round lists both the Rust and the Kotlin offenders, and also fail on a Rust lookup of an app class by name. Note in AGENTS.md that a Kotlin method Rust calls by name needs @Keep to survive R8. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JAxkkiaGp2k8okvs4MpCUq --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>