找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5683|回复: 1
打印 上一主题 下一主题
收起左侧

Android应用:手动安装Root Explorer PC版本

[复制链接]
跳转到指定楼层
楼主
ID:90014 发表于 2015-9-13 15:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Root Explorer(Re)在Android系统中是一个很强大的工具,在用户获得Root权限后,使用这个工具可以对系统的任何部分进行修改,几乎没有限制。但是目前的各种PC连接工具均不支持类似的功能,如在PC界面上直接删除/data目录下的文件或者/system下的文件,使用Android版本操作起来又不如PC方便,因此找到了RootExplorer的PC版本。

RE 的应用基本上通过在Android设备上建立一个ftp服务器,然后在PC端通过FTP的方式,对设备进行控制。但是它需要有后台的应用支持,其中用到了两个Linux的程序,一个是通用的Busybox工具包,另一个re4pc这样一个后台程序。只有这两个程序都正常安装到设备上对应的目录以后,再次在PC上启动RE.exe,才能正确的进行操作。

如果你比较幸运,你可以在PC端直接点击RE.exe,即可以自动完成busybox 和re4pc到设备端的自动安装。但实际操作中,有很多时候都会出现busybox无法正确安装的情形。因此这里就手动安装的过程做简单介绍。

1. RE4PC的文件组成(build.prop 和 default.prop不是必须文件。)

  用于将设备和PC相连的程序包括 adb.exe,adbwinApi.dll 和 adbWinUsbApi.dll。 对于不同的设备,如果有自己专用的设备驱动,这个可能会有所不同。可以使用设备自身的adb连接工具。
  re.exe,busybox 和 re4pc 则是本工具的核心。re.exe是PC的界面,busybox和re4pc是设备端的驱动,必须安装到设备上才能发挥作用。

2. 默认的使用过程,直接点击Re.exe,即会出现:

系统检查是否已经有Root权限。如果没有root权限,则不用考虑后续工作了。
如果这个adb.exe的版本和目前正在运行的adb的版本不同,则会重启adb服务程序,重启后再次连接设备。
此后在/system/bin目录下检查是否有busybox这个程序。很多系统中已经安装了busybox工具,但是默认的路径是/system/xbin目录。这个软件使用/system/bin目录,因此比如获取该目录的写入和执行权限,然后把软件自带的busybox复制到对应的目录中。同时,系统要正常工作,必须将re4pc复制到/data/app目录下,同样要具有root权限。
以上运行的结果表明,可能是将busybox安装到/system/bin目录的权限不够导致无法正常进行。

3. 检查系统的当前权限
使用 adb shell 命令,进入设备的控制台界面,然后输入mount命令,检查/system目录的操作权限:

mount命令把目前系统中所支持的全部文件都列举出来,并且标出了读写权限。其中/dev/block/actc /system ext4 ro,.....这一行表明,/system文件夹是系统中的一个块设备,编号是/dev/block/actc。文件格式是ext4格式,操作权限为只读(ro)。同样可以看到,/data目录和/cache目录也是系统中的两个物理分区,分别是/acte和/actf,这个和Windows系统中的C:,D:,E:等表示方法非常类似。但是/data和/cache目录都是rw权限。

此时使用复制文件命令到 /system/bin目录,可以看到因为权限不足被拒绝:



4. 重新mount /system目录为可读写方式,并且复制busybox到/system/bin目录下。
在Android的控制台上,通过使用 mount 命令,可以重新加载/system目录为可读可写的模式,这样就可以完成文件的复制工作。
使用 adb shell命令,进入Android控制台,再执行 su 命令,以root用户身份完成以下操作:


mount -o remount /dev/block/actc /system
这里通过 -o remount 命令对 /dev/block/actc分区做再次支持,其操作权限由此前的 ro(只读)变更为 rw(可读写)。命令执行完成后,再次使用mount命令检查操作的结果。可以看出,此时/dev/block/actc的分区再次被支持为/system目录,文件系统格式不变,依然为ext4格式,但是后面的操作权限变更为可读写。
使用exit命令回到DOS操作层,使用 adb root命令,将用户权限切换到root身份,然后再使用 adb push 命令将busybox 复制到 /system/bin目录下。操作如下:


同样,将re4pc文件复制到 /data/app目录下,不过/data/分区本身是可读写的,因此没有这么复杂,直接操作就好。

至此,该程序所需的文件复制完成。

5. 可以再次启动 RE了。结果如下:

这是操作设备中的各种文件就和操作PC中的文件一样方便了。可以对感到不满意的文件统统删除,也可以自己给系统目录下放自己想要的东西。这样就可以自己定制自己的设备了。

6. 关于直接把一般应用作为系统预装应用的方法:先把应用作为普通应用安装到正常的/data/app目录下。然后把这个apk文件复制到/system/app目录下。另外需要把/data/app-lib/目录中与该apk同名的目录下的全部文件都复制到/system/lib目录下。此时这个应用已经成了系统预装的应用。可以回到/data/目录下,把对应的apk和lib都删除。
       但是这个方法并不实用,因为每次系统重启后,都会重建/system目录,你复制过去的文件会被删除掉。因此以上的做法只有在新的固件包的时候才有用,直接把这些文件打包到system.img固件中,就可以作为系统预装应用出现了。
       这个方法对于很多应用会有风险,主要问题是对应的lib的版本问题。可能是同一个开发商开发的多个应用共同使用一个库文件,但是不同应用所使用的库文件的版本不同,不同应用间并不兼容。此时这样安装会导致不同版本相互覆盖,造成有的应用不能正常使用的情况。但是安装到/data/app下的普通应用则不会有类似问题,因为每个应用的库都处在不同目录下,不会相互覆盖。
      另一方面,系统预装的APK,都提前做了启动优化,把资源文件和可执行部分提前分离开来,这样的APK中间只保留应用的资源部分,而可执行部分另外取了一个后缀保存起来,就是所谓的odex文件 - 就是一个标准 APK中的 class.dex文件。这样加快了应用的加载速度,在厂商做固化时大量使用,但不便于升级,对于普通应用,可以不考虑。

最近才接触Android,真的有不少东西需要好好了解了解。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:74784 发表于 2015-9-24 19:11 | 只看该作者
我用的是360 root~~~~~~~~~~~~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表