android runtime.exec 权限,Android Runtime.getRuntime().exec(“su”)java.io.IOException:权限被拒绝...
时间: 2023-07-21 07:03:12 浏览: 94
在 Android 中,执行命令需要相应的权限。在你的情况下,你需要使用 `android.permission.ACCESS_SUPERUSER` 权限才能执行 `su` 命令。
要在你的应用程序中请求超级用户权限,你需要在 AndroidManifest.xml 文件中添加以下行:
```
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
```
请注意,这个权限只有在设备被 root 后才能使用。如果设备没有被 root,你不能使用 `su` 命令来获得超级用户权限。
相关问题
android8 Runtime.getRuntime().exec su
在Android 8中,您可以使用以下代码来使用su命令:
```
try {
Process process = Runtime.getRuntime().exec("su");
process.waitFor();
} (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) e.printStackTrace();
}
```
这段代码使用`Runtime.getRuntime().exec("su")`来执行su命令,然后使用`process.waitFor()`等待命令执行完成。这样您就可以在Android 8中使用su命令了。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Android Runtime.getRuntime().exec(...),参数带有空格的解决方法](https://blog.csdn.net/qq_38270065/article/details/127071585)[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: 50%"]
- *2* *3* [Android Runtime.getRuntime().exec()](https://blog.csdn.net/xianrenli38/article/details/117484708)[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: 50%"]
[ .reference_list ]
Android studio的apk使用runtime.exec权限不足
在 Android 应用程序中使用 `Runtime.exec()` 调用其他进程时,需要确保应用程序具有足够的权限执行该操作。如果你遇到 `java.io.IOException: error=13, Permission denied` 错误,这意味着你的应用程序没有足够的权限执行该操作。解决此问题的方法如下:
1. 添加权限:在你的 Android 应用程序的 `AndroidManifest.xml` 文件中添加以下权限:
```
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
2. 在代码中添加以下代码,以获取 `Process` 对象时使用 `su` 权限:
```
Process process = Runtime.getRuntime().exec("su");
```
3. 如果你仍然无法获取足够的权限,请考虑使用 `ProcessBuilder`,它提供了更好的控制和更多的选项,例如设置工作目录和环境变量等。
```
ProcessBuilder processBuilder = new ProcessBuilder("su");
Process process = processBuilder.start();
```
请注意,使用 `su` 权限可能存在一些潜在的风险和安全问题,因此请确保你的应用程序只在必要时使用此权限。