libsu is a modern Android library that provides a safe, convenient API for executing commands with root privileges and interacting with the Android shell. Instead of ad-hoc Runtime.exec calls, it offers structured sessions, proper I/O streams, and lifecycle handling that works reliably across devices. The library focuses on developer ergonomics: thread-safe helpers, Kotlin-friendly APIs, and utilities for file operations, process management, and parcelable data transfer. It’s designed to interoperate smoothly with Magisk-based root environments while degrading gracefully on non-rooted devices when possible. Attention is given to security and correctness—avoiding resource leaks, handling timeouts, and containing elevated operations to explicit scopes. For apps that legitimately need privileged automation or maintenance tasks, libsu becomes the backbone that keeps the “root” parts predictable and testable.
Features
- High-level shell sessions with proper stdin/stdout/stderr handling
- Kotlin-first, coroutine-friendly APIs for async command execution
- Utilities for file ops, process control, and content transfer under root
- Compatibility with Magisk environments and graceful behavior without root
- Robust timeout, lifecycle, and resource-management safeguards
- Modular artifacts so you include only what your app needs