针对使用根权限的应用程序的完整解决方案
libsu 包含 2 个主要组件: core 模块负责创建 Unix (root) 命令行进程,并通过高级、可靠的 Java API 进行封装; service 模块负责通过 IPC 启动、绑定和管理 root 服务,允许您使用 root 权限运行 Java/Kotlin 和 C/C++ 代码(通过 JNI)。请注意,这是一个快速演示,介绍了 libsu 的主要功能。请阅读完整的 Javadoc 并查看本项目中的示例应用程序 (:example) 以了解更多详细信息。
可选地,使用类似于 .bashrc 的概念,使用自定义的 Shell.Initializer 初始化 shell:
如果与根 shell 的交互对您的需求来说太过有限,您还可以实现一个根服务来运行复杂的代码。根服务类似于 绑定服务,但运行在一个根进程中。libsu 使用 Android 的本地 IPC 机制 binder 来实现您的根服务与主应用程序进程之间的通信。除了运行 Java/Kotlin 代码外,还支持使用 JNI 加载本机库(android:extractNativeLibs=false 是允许的)。如需详细信息,请阅读 RootService 的完整 Javadoc 并查看示例应用程序以了解更多信息。将 com.GitHub.topjohnwu.libsu:service 添加为依赖项,以访问 RootService:
public class RootConnection implements ServiceConnection { ... }
public class ExampleService extends RootS暂无开放 Issues,或尚未同步最近议题。