A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wwfkofufo 中级黑马   /  2014-8-26 11:22  /  803 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

获取ROOT并修改mmcblk0分区权限为110:

[java] view plaincopy


  • import java.io.DataOutputStream;  
  •   
  • import android.app.Activity;  
  •   
  • public class MyTestPri extends Activity{  
  •   
  •     public void onCreate(Bundle savedInstanceState){  
  •         super.onCreate(savedInstanceState);  
  •         //* Create a TextView and set its content.  
  •         //* the text is retrieved by calling a native  
  •         //* function.  
  •   
  •         setContentView(R.layout.main);  
  •         String apkRoot="chmod 110 /dev/block/mmcblk0";//SD卡分区路径,也可能是mmcblk1随系统版本定,当前程序路径请用getPackageCodePath();  
  •         RootCmd(apkRoot);  
  •     }  
  •   
  •     public boolean RootCmd(String cmd){  
  •         Process process = null;  
  •         DataOutputStream os = null;  
  •         try{  
  •             process = Runtime.getRuntime().exec("su");  
  •             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;  
  •     }  
  • }  



以上程序第一次运行时,会弹出类似“XXX应用程序想要获取root权限”这样提示的对话框。这时你只需确认许可即可,下次再次执行时,Android会自动授权该程序进行ROOT提权。

执行完成后,可以看到该设备权限已被修改为110,注:如果只是想按照扇区读写SD卡,修改为606就足够了,或者再尝试低一点的权限。

另外,关于TF/SD卡的挂载点问题,好像有的版本会挂载到mmcblk0,有的会挂载到mmcblk1上,具体还是要判断一下,有深入研究过的不妨留言补充。



这里有个疑问,权限,是不是数字越大,权限越高?


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马