Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
16lz
2021-01-23
private boolean isRoot(String command){Process process = null; DataOutputStream os = null; try { /*Executes the specified program in a separate native process. * The new process inherits the environment of the caller. * Calling this method is equivalent to calling exec(prog, null, null). *///如果设备获取了root权限,那么程序执行su命令时,就会提示用户进行授权process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream()); os.writeBytes(command+"\n"); os.writeBytes("exit\n"); os.flush(); process.waitFor(); } catch (Exception e) { //如果已经root,但是用户选择拒绝授权,e.getMessage() = write failed: EPIPE (Broken pipe) //如果没有root,,e.getMessage()= Error running exec(). Command: [su] Working Directory: null Environment: null Logger.d("Unexpected error - Here is what I know: "+e.getMessage()); return false; } finally { try { if (os != null) { os.close(); } process.destroy(); } catch (Exception e) { // nothing } } return true; }
更多相关文章
- android studio在终端执行gradlew命令,报无效的环境
- Android 应用程序运行shell命令
- android java 执行shell命令(笔记)
- Android固件img文件的解包, 修改和打包的命令行操作
- [APP] Android 开发笔记 001-环境搭建与命令行创建项目
- Android Studio第三十四期 - git企业级应用命令
- 调试android ethernet 的常用命令
- Android 技巧:命令行运行 sqlite3
- Android的用户界面