当前位置: 代码迷 >> Android >> Android刷Root步骤,zergRush,Odin3+CWM(ClockworkMod recovery)
  详细解决方案

Android刷Root步骤,zergRush,Odin3+CWM(ClockworkMod recovery)

热度:93   发布时间:2016-05-01 20:50:02.0
Android刷Root方法,zergRush,Odin3+CWM(ClockworkMod recovery)

一:

安装驱动精灵,装好手机USB驱动,重启电脑(CWM刷ROOT这步很重要);手机连上电脑,打开android DEBUG模式。

二:

zergRush用于对Android手机进行root提权, 适用于android 2.2/2.3版本,代码可以从下面这个网址获得:
??????????????????????????????????????
https://github.com/revolutionary/zergRush/downloads

现在的破解很多都是用zergRush或者GingerBreak的,两者比较类似,原理好像都差不多SuperOneClick也是集成了这两个核心的。

不过这种不是适合所有的机型,比如zergRush是失败就会出现”Hellions with BLUE flames !”,

命令如下:

adb shell rm -r /data/local/tmp
adb shell mkdir /data/local/tmp
adb push .\zergRush /data/local/tmp
adb shell chmod 755 /data/local/tmp/zergRush
adb shell /data/local/tmp/zergRush
adb remount
?
adb push .\su /system/bin
adb push .\su /system/xbin
adb shell chmod 4755 /system/bin/su
adb shell chmod 4755 /system/xbin/su

如果失败的话,只能采用刷ROM方法。

三:

做好步骤1准备操作,开启fastboot模式,每款机器不太一样,开启Odin3,如果能识别USB,然后勾上PDA,点击开始就搞定,前提是你得下载正确的ROM,如果所刷的ROOT内核和ROM不匹配会有黄三角。

可参考http://bbs.gfan.com/android-3673980-1-1.html

?

应用程序获取ROOT权限:

?

public class DemoActivity extends Activity {?
??? public final String rootPowerCommand = "chmod 777 /dev/block/mmcblk0";// 授权root权限命令?
??? /** Called when the activity is first created. */?
??? @Override?
??? public void onCreate(Bundle savedInstanceState) {?
??????? super.onCreate(savedInstanceState);?
??????? setContentView(R.layout.main);?
?????? new AlertDialog.Builder(this).setMessage(rootCommand(rootPowerCommand)+"....").show();?
?????? File []files =? new File("/root").listFiles();?
?????? if(files==null){//<strong><span style="font-size:18px;color:#ff0000;">说明是NULL。。。。就是不能访问其下的文件了?
</span></strong>?????????? new AlertDialog.Builder(this).setMessage(".OK...").show();?
?????? }?
????? // files[0].getName();?
??? }?
??? /**?
???? * 授权root用户权限?
???? *??
???? * @param command?
???? * */?
??? public boolean rootCommand(String command) {?
??????? Process process = null;?
??????? DataOutputStream dos = null;?
??????? try {?
??????????? process = Runtime.getRuntime().exec("su");?
??????????? dos = new DataOutputStream(process.getOutputStream());?
??????????? dos.writeBytes(command + "\n");?
??????????? dos.writeBytes("exit\n");?
??????????? dos.flush();?
??????????? process.waitFor();?
??????? } catch (Exception e) {?
??????????? return false;?
??????? } finally {?
??????????? try {?
??????????????? if (dos != null) {?
??????????????????? dos.close();?
??????????????? }?
??????????????? process.destroy();?
??????????? } catch (Exception e) {?
??????????? }?
??????? }?
??????? return true;?
??? }?
?
}

  相关解决方案