android app请求获取root权限
16lz
2021-12-04
原文地址:https://blog.csdn.net/lkx94/article/details/50658952
要让Android应用获得Root权限,首先Android设备必须已经获得Root权限。
应用获取Root权限的原理:让应用的代码执行目录获取最高权限。在Linux中通过chmod 777 [代码执行目录]
代码如下:
/** * 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限) * * @return 应用程序是/否获取Root权限 */public static boolean upgradeRootPermission(String pkgCodePath) { Process process = null; DataOutputStream os = null; try { String cmd="chmod 777 " + pkgCodePath; process = Runtime.getRuntime().exec("su"); //切换到root帐号 os = new DataOutputStream(process.getOutputStream()); os.writeBytes(cmd + "\n"); os.writeBytes("exit\n"); os.flush(); process.waitFor(); } catch (Exception e) { return false; } finally { try { if (os != null) { os.close(); } process.destroy(); } catch (Exception e) { } } return true;}
调用代码:
@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //当前应用的代码执行目录 upgradeRootPermission(getPackageCodePath());}
执行上述代码后,系统会弹出对话框“是否允许获取Root权限”,此时选择允许即可。
更多相关文章
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
- APK 的自我保护
- Android实现页面跳转的几种方式(转贴)
- ubuntu下载android源代码
- Android(安卓)获取cpu序列号
- Android(安卓)相机拍照获取图片并保存到指定位置。
- Android(安卓)3.0之后开机无法接收系统广播权限原因
- Android点滴(1):获取Android系统的唯一识别码
- Android(安卓)权限控制代码分析