标签:
网上的方式都失败了... 网上的方式据说是 用于 2.0 左右版本的. 而我们现在主流都用的是 4.0 以上的.
于是我决定看看 root 原理自己搞一下:
先看这段描述:
一、 概述
本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识。
二、 Root 的介绍
1. Root 的目的
可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等。
2. Root的原理介绍
谷歌的android系统管理员用户就叫做root,该帐户拥有整个系统至高无上的权利,它可以访问和修改你手机几乎所有的文件,只有root才具备最高级别的管理权限。我们root手机的过程也就是获得手机最高使用权限的过程。同时为了防止不良软件也取得root用户的权限,当我们在root的过程中,还会给系统装一个程序,用来作为运行提示,由用户来决定,是否给予最高权限。这个程序的名字叫做Superuser.apk。当某些程序执行su指令想取得系统最高权限的时候,Superuser就会自动启动,拦截该动作并作出询问,当用户认为该程序可以安全使用的时候,那么我们就选择允许,否则,可以禁止该程序继续取得最高权限。Root的过程其实就是把su文件放到/system/bin/ Superuser.apk 放到system/app下面,还需要设置/system/bin/su可以让任意用户可运行,有set uid和set gid的权限。即要在android机器上运行命令:adb shell chmod 4755 /system/bin/su。而通常,厂商是不会允许我们随便这么去做的,我们就需要利用操作系统的各种漏洞,来完成这个过程。
特别说明:我们烧机中的Eng版本并没有Root权限
3. Root的方法
从Root的原理我们了解到,root 过程分三步:
a. adb push su /system/bin
b. adb push SuperUser.apk /system/app
c. adb shell chmod 4755 /system/bin/su
到这里 因为我们是sdk root 就实现了.
下面正式开始root sdk 我这里是 Android 4.0.3 arm 版本. x86 和 其它的我没试验
2 由于sdk是只读挂载的所以 我们先将它 挂载为 rw
adb shell mount -o rw,remount yaffs2 /system
3 把 su 上传到 /system/bin 和 /system/xbin ,然后把 SuperUser.apk 上传到 /system/app ,最后把 /system/bin/su 设置为 4755权限
adb push su /system/bin
adb push su /system/xbin
adb push SuperUser.apk /system/app
adb shell chmod 4755 /system/bin/su
到这里就root 完成了. 现在你运行请求root的app 就可以出现 请求root 的窗口了.
还有第二个方式 更简单 下载 百度一键root
1 adb shell mount -o rw,remount yaffs2 /system
2 运行 百度一键root 点击 一键root 就ok了.
现在有个问题就是每次启动你都得重复上面两种步骤之一. 如果想永久root 哪就得改 system.img 了
路径在 : android-sdk\system-images\android-16\default\armeabi-v7a
第一步:
这个目录下有个文件 build.prop
打开它找到 ro.config.nocheckin=yes 这一行 删除掉
第二步:
然后用 YAFFS2IMG 这个软件打开 system.img
根目录下也有个 build.prop 同样也是 导出 打开它找到 ro.config.nocheckin=yes 这一行 删除掉 然后导入 右键权限修改 为 0644
导入 我们刚才下载的 SuperUser 解压后有个 su 文件 到 /bin 和 /xbin 修改权限 /bin/su 为 4755 /xbin/su 0755
同样导入 SuperUser.apk 到 /app 目录下 修改权限为 0666
然后保存. 替换以前的system.img. 这样就可以永久root了
android avd sdk root
标签:
原文地址:http://www.cnblogs.com/wxf101/p/4571892.html