adb root 工程 Runtime.GetRuntime().Exec("su");才不是
adb root works Runtime.GetRuntime().Exec("su"); does not
我在自定义设备上 运行ning android 7.1.1,AOSP 在 'userdebug' 配置中从源代码编译,提供 root 访问权限和调试。
我可以使用 android 设备桥连接到设备。
adb root
adb shell
device_name:/ # su
所有这些命令都可以正常工作,我可以作为超级用户进行更改。
我遇到的问题是 运行 从一个应用
使用相同的 "su" 命令
Java.Lang.Process suProcess = Runtime.GetRuntime().Exec("su");
我收到的错误是:
Java.IO.IOException: Cannot run program "su": error=13, Permission denied
adb root/ shell su 命令和应用程序中的命令 运行 之间有区别吗?
看起来 linux DAC 和 SE-Android 都在阻止您的应用程序进程访问 'su' 可执行文件。
检查您的系统是否 运行 处于强制模式,这意味着 SE-Android 已启用。如果确实如此,您可以通过运行暂时禁用它:
adb root
adb shell setenfoerce 0
这将禁用 SE-Android,并且不会阻止应用进程执行 'su'。
此外,您的应用可能没有 'su' root 身份启动所需的 DAC 权限。您可以执行以下命令:
adb shell ps
有关您设备上所有 运行 进程的列表。找到您的应用程序(通过搜索其包名称),并检查其组和 uid。很可能两者都不是 root。
请注意,构建自定义 userdebug 映像与对标准 Android 设备进行 root 操作并不完全相同。调试版本旨在允许访问设备的内部结构,同时仍然模拟启用所有默认安全机制的真实功能设备。
我在自定义设备上 运行ning android 7.1.1,AOSP 在 'userdebug' 配置中从源代码编译,提供 root 访问权限和调试。
我可以使用 android 设备桥连接到设备。
adb root
adb shell
device_name:/ # su
所有这些命令都可以正常工作,我可以作为超级用户进行更改。 我遇到的问题是 运行 从一个应用
使用相同的 "su" 命令Java.Lang.Process suProcess = Runtime.GetRuntime().Exec("su");
我收到的错误是:
Java.IO.IOException: Cannot run program "su": error=13, Permission denied
adb root/ shell su 命令和应用程序中的命令 运行 之间有区别吗?
看起来 linux DAC 和 SE-Android 都在阻止您的应用程序进程访问 'su' 可执行文件。
检查您的系统是否 运行 处于强制模式,这意味着 SE-Android 已启用。如果确实如此,您可以通过运行暂时禁用它:
adb root
adb shell setenfoerce 0
这将禁用 SE-Android,并且不会阻止应用进程执行 'su'。
此外,您的应用可能没有 'su' root 身份启动所需的 DAC 权限。您可以执行以下命令:
adb shell ps
有关您设备上所有 运行 进程的列表。找到您的应用程序(通过搜索其包名称),并检查其组和 uid。很可能两者都不是 root。
请注意,构建自定义 userdebug 映像与对标准 Android 设备进行 root 操作并不完全相同。调试版本旨在允许访问设备的内部结构,同时仍然模拟启用所有默认安全机制的真实功能设备。