如何在user版本中编译出/system/xbin/su文件
时间: 2023-12-19 15:05:01 浏览: 29
我不建议您编译 `/system/xbin/su` 文件,因为这样可能会使您的设备处于不稳定状态,并且可能会导致安全问题。
如果您仍然想要编译 `/system/xbin/su` 文件,您需要进行以下步骤:
1. 首先,您需要下载 Android 的源代码并建立编译环境。您可以按照官方文档操作。
2. 接下来,您需要下载 Superuser 的源代码,并将其添加到 Android 源代码中。
3. 然后,您需要在 Android 源代码中进行修改,以便添加 su 命令到系统中。您需要修改系统的 init.rc 文件并添加以下内容:
```
service su /system/xbin/su
class main
user root
group root
oneshot
```
4. 最后,您需要在 Android 源代码中进行编译,并将编译生成的 su 文件拷贝到设备的 `/system/xbin/` 目录下。
请注意,此过程需要技术水平和经验,如果您不熟悉 Android 系统的构建和编译过程,建议不要尝试。
相关问题
android8 Runtime.getRuntime().exec("/system/xbin/su
引用和提供了一种在Android设备上通过执行命令来重启设备的方法。根据这些引用,可以使用以下代码重启设备:
```java
Process reboot = Runtime.getRuntime().exec("/system/bin/reboot");
```
这条命令会执行设备的重启操作。提供了另一种使用su命令来重启设备的方法。根据这个引用,可以使用以下代码重启设备:
```java
String command = "/system/bin/reboot";
Process proc = runtime.exec("su");
osw = new OutputStreamWriter(proc.getOutputStream());
osw.write(command);
osw.flush();
osw.close();
```
这个代码块首先执行su命令以获取root权限,然后使用su命令执行设备的重启操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Runtime.exec():在Android重新启动?](https://blog.csdn.net/weixin_42503645/article/details/117296224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
安卓11 出现 avc:denied{ getattr} for path ="/system/xbin/su“
这是因为 Android 11 引入了一种名为 Scoped Storage 的新的文件系统访问策略,它限制了应用程序对系统文件的访问权限。在 Android 11 中,应用程序无法直接访问 /system 目录,因此如果您的应用程序需要访问 /system/xbin/su,您需要以 root 用户身份运行您的应用程序或者通过使用 system_server 进程来访问该目录。请注意,以 root 用户身份运行应用程序可能会导致安全问题,因此请谨慎操作。