网上的方式都失败了... 网上的方式据说是 用于 2.0 左右版本的. 而我们现在主流都用的是  4.0 以上的.

这个http://quantoubao.blog.163.com/blog/static/2083211702013870501987/ 说的是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 和 其它的我没试验

1 下载地址 : http://superuserdownload.com/  面后解压 里面有 SuperUser.apk 和 su 文件



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的更多相关文章

  1. 【已解决】mac上appium报错:“Could not find aapt Please set the ANDROID_HOME environment variable with the Android SDK root directory path”

    按照网上教程配置完appium环境后,真机跑自动化过程,遇到如下报错: appium报错如下: [ADB] Checking whether aapt is present [ADB] The AND ...

  2. 修改android studio中的avd sdk路径、avd sdk找不到的解决方案

    要进行Android应用程序的开发,首先就要搭建好Android的开发环境,所需要的工具有如下4个:1.java JDK:2.Android SDK:3.Eclipse:4.ADT 1.java JD ...

  3. Could not find aapt Please set the ANDROID_HOME environment variable with the Android SDK root directory path

    写case写好好哒,突然debug的时候就冒出这个错误: selenium.common.exceptions.WebDriverException: Message: An unknown serv ...

  4. Appium问题解决方案(7)- Could not find 'adb.exe' in PATH. Please set the ANDROID_HOME environment variable with the Android SDK root directory path

    背景:运行代码提示找不到ADB An unknown server-side error occurred while processing the command. Original error: ...

  5. Android平台免Root无侵入AOP框架Dexposed使用详解

    Dexposed是基于久负盛名的开源Xposed框架实现的一个Android平台上功能强大的无侵入式运行时AOP框架. Dexposed的AOP实现是完全非侵入式的,没有使用任何注解处理器,编织器或者 ...

  6. Android AVD创建及设置中各参数详解

    设置AVD时有些参数比较模糊,特地找了篇文章,大家参考下! 本文根据如下的模拟器安装做一些解释: Name:自定义虚拟的名称,不能有空格或者其他非法字符,否则不能创建,即Creat AVD不能高亮点击 ...

  7. 解决Android AVD启动报错问题

    好不容易从ADT Bundle转为Android Studio的开发环境,一路荆棘,现在又遇到了模拟器的问题,本来直接用真机调试程序会更快些,但是为了模拟多种系统不得不开启AVD. 废话不说,问题和解 ...

  8. Centos Android开发环境配置-Android Tools -android list sdk --extended --all

    Centos Android开发环境配置-Android Tools -android  list sdk --extended --all 安装完Android Tools后执行 android   ...

  9. PANIC: HOME is defined but could not find Nexus_4_API_22.ini file in $HOME/.android/avd (Note: avd is searched in the order of $ANDROID_AVD_HOME,$ANDROID_SDK_HOME/.android/avd and $HOME/.android/avd)

    sudo cp /root/.android/avd/*.ini  $Home/.android/avd/ sudo cp -r  /root/.android/avd/*.avd  $Home/.a ...

随机推荐

  1. [nginx] connect() failed (111: Connection refused) while connecting to upstream, client: 101.18.123.107, server: localhost,

    nginx一直报错, 2016/12/02 10:23:19 [error] 1472#0: *31 connect() failed (111: Connection refused)while c ...

  2. sql 跨库查询备忘笔记

    select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=远程ip;User ID=sa;Password=密码' ).库名.dbo.表名 inse ...

  3. putty远程连接ubuntu

      步骤一.在ubuntu系统中安装ssh,可使用如下的命令进行安装: sudo apt-get install openssh-server步骤二.为了保险起见,安装完成后重启一下ssh服务,命令如 ...

  4. C#扇形的绘制与Hittest交互、图种制作

    C# 扇区的绘制与交互 哪位大神的杰作,代码里有,我就不废话了.源码下载方式如下. 注:将下面的图下载后,另存为.rar就可以看到图片中隐藏的代码程序了. 图种的制作 图种的目的在于隐藏文件.使得外人 ...

  5. Stanford NLP学习笔记1:课程介绍

    Stanford NLP课程简介 1. NLP应用例子 问答系统: IBM Watson 信息提取(information extraction) 情感分析 机器翻译 2. NLP应用当前进展 很成熟 ...

  6. Tornado实战项目(伪JD商城)

    预备知识 在之前tornado商城项目中,在开始之前需要引入一些项目设计知识,如接口,抽象方法抽象类,组合,程序设计原则等,个人理解项目的合理设计可增加其灵活性, 降低数据之间的耦合性,提高稳定性,下 ...

  7. [手机取证] Jonathan Zdziarski公开的苹果iOS后门及POC视频

    Jonathan Zdziarski 近日在其推特上公布了此“后门”的研究及POC视频,并表示全球媒体“夸大”了此事,自己“从未表示过认为此后门与NSA的监控行为有关”. 视频 http://pan. ...

  8. (转)打印相关_C#图片处理Bitmap位图缩放和剪裁

    原文地址:http://blog.sina.com.cn/s/blog_6427a6b50101el9d.html 在GDI+中,缩放和剪裁可以看作同一个操作,无非就是原始区域的选择不同罢了. /// ...

  9. CentOS 6.5安装Oracle 11.2.0.4------CentOS 6.5安装

    规划: IP:192.168.213.199 mask: 255.255.255.0 gateway:192.168.213.1 DNS1:202.101.172.35 磁盘分区: 磁盘总大小:25G ...

  10. 一致性 hash 算法( consistent hashing )a

    一致性 hash 算法( consistent hashing ) 张亮 consistent hashing 算法早在 1997 年就在论文 Consistent hashing and rando ...