在有的时候,我们的应用程序在运行的时候必须要有root权限,以root的身份来运行才能完成我们的工作,比如,我们要加载一张虚拟网卡。mount一个磁盘等。当然这些都必须要我们的用的手机已经被root以后才行。有的人以为只要手机root以后,所有程序就会以root运行了,其实不是这样 ,要想获取root。我们还必须在我们的程序中申请才可以。代码如下:
- pkgPath = getPackageCodePath();
- private boolean getRootPermission(String pkgPath)
- {
- Process process = null;
- DataOutputStream os = null;
- try {
- String cmd="chmod 777 " + pkgPath;
- 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;
- }