您的位置:首页 > 运维架构 > Linux

[linux]获得 android 的 root 权限

2011-03-29 21:47 423 查看
 

[linux]获得 android 的 root 权限

android 手机/平板大行其道的今天,获得 root 权限成了大家关注的话题。

据我所知,需要获得 root 权限的嵌入式操作系统,只有 ios 和 android。其中 ios 称为越狱,随着 ios 的发布,有众多高手开发了相应的傻瓜越狱工具。但是 android 应用非常广泛,却没有统一的技术支持,所以只能由用户自己进行权限破解。因为 android 的内核是 linux,而 linux 中 root 拥有至高无上的权限,所以一时间获取 root 权限也成了很多非 linuxer 关注的话题。
一键获取 android root 权限: Unviersal Androod (不适用所有机型)

为什么要获得 root 权限呢?

其实日常应用并不需要 root 权限,但是由于一些 android 的限制,我们必须拥有 root 权限才能:

下载收费软件

修改系统文件

替换 hosts 文件

截图

等等 …

连截图都要 root 权限……(记得 ios 是 home+power 吧?)

消歧

使用 adb 连接到设备获得的 root 权限并不是 设备所拥有的 root。

也就是说,连接设备成功后,我们对设备的系统具有了 root 权限,而设备系统自身并没有 root 权限。例如您在 market 看到 need rooted device 字样,那就是意味着您的设备系统也具有 root 权限。通常来说,root 指设备自身可以执行 su 并获得 root 权限。

原理

adb ( android debug bridge ) 链接设备,并使用具有 root 权限的 adb 修改/替换设备 su 文件,从而具有 root 权限。





前期准备

访问 http://developer.android.com/sdk/index.html (need proxy),获取 adb 工具(需要下载 sdk,windows 还需额外下载 usb 驱动);

开启您的 android 设备,并执行如下操作: settings — application — development, 勾选usb debugging;





创建 
/etc/udev/rules.d/51-android.rules 文件,内容如下:


ubuntu:

arch:

其中 USB Vendor IDs 可以在 这里 查到。

更改文件权限:

重新加载 udev 规则:

下载越狱软件包,并把 su 拷贝到 adb/tools 内

开始~

插入 usb 数据线,然后打开终端,进入 adb/tools 目录,执行

Android adb devices显示 ????????????    no permissions怎么办?

Windows:运行adb root

Linux:
adb kill-server
sudo adb root

此时显示为:

List of devices attached
0123456789ABCDEF    device

成功列出已连接的设备后,执行

(您需要根据您的设备和设置变更执行的路径)

等待设备重启完成后,可以在 adb shell 模式输入:su(回车),会出现su: access granted, courtesy of www.magicandroidapps.com #等提示,代表成功了。





现在您可以使用root explorer,蓝牙上网,截图,martket enabler等工具啦~

为什么我不需要 root

网上超多的 root 教程会让你惊奇的发现,ROOT好简单哦。但是看到新手一拿到手机就马上刷ROOT,然后再问:取了ROOT有什么用?
我们不能完全责怪用户,因为很多教程都没有强调刷ROOT可能导致的严重后果,会危及到你手上设备的安全性。实际上,很多用户根本不需要ROOT权限!

在开始之前,请先问你自己以下2个问题:
1.你有几次细读过菜市场里下载的软件或者游戏的使用协议?
2. 你有几次看了软件使用协议中的权限要求(full internet, gps location, read contacts等等)后会问“嗯,为什么这个游戏需要这些权限呢?”
你是不是还是照安装不误呢?

事实是,绝大多数的用户根本不会理会 程序所 请求 的这些权限,他们会照安装不误。

虽然 market 已经通知了用户软件所需的权限,但这远远不够。 因为用户还是不知道这些权限和安全有什么关系。有些软件也许没有什么恶意,但设计的却极其的烂。因为开发者也是人,也会犯错。有时,程序员会选择一个他们认为安全的协议,但实际上却是很危险的。又或者有些恶意软件,可以让别人远程清空你的手机,或者将你手机里的信息传送回指定服务器后再清空你的手机(也许已经有这样的软件了)。我以上所说的这些例子表明,即便是非ROOT权限的程序都有可能很危险,何况那些获得ROOT权限的程序呢?

其实,有些功能其实完全不应该需要ROOT权限的。很多用户取得ROOT权限只是为了添加一些自己的主题,为了一些小众的需求而已。

老实的说,看到越来越多的ANDROID新手认为不ROOT就不能正常工作,让我感到很沮丧。(via

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息