为什麽会写这篇呢? 因鱼的手机是 HTC Magic 被 HTC 遗忘的手机,网路上号称难以变成磗块的手机,在自己升级成 Android 2.1 之後,有了 root 权限,安装了一套 Uninstaller for Root 用来移除系统本身自带的软体,这些软体大多是自己用不上的,再加上 HTC Magic 的硬体效能并不是那麽的强大,所以为了我的工作效率,能不自动执行的软体就不会让她存活著。
但是!问题来了!某天! Uninstaller for Root 不能正常执行了!正因为这样,才让鱼有动力去想办法解决这个问题,也就是找出可以移除系统软体的解决方案。
大概的解决方式就是将 Android 系统目录中的 /system/app 中的软体 .apk 档案删除或是加以更名。
还好鱼对 Linux 不陌生,所以事情是这麽开始的∶
用 ADB 工具连上 Android 手机
>abd shell
># cd /system/app
># mv HtcPlurk.apk HtcPlurk.apk.old
嘿嘿这样应该就好了!没错鱼就是呆,完全忘了 Linux 是一个强调权限的系统,所以系统给了鱼这个答案∶
>mv HtcPlurk.apk HtcPlurk.apk.old
>mv: cannot rename 'HtcPlurk.apk': Read-only file system
这就是因为没有权限,所以没有办法修改档案,接著呢,我们要解开这个权限好让我们能够修改她噜∶
># mount
.........
/dev/block/mtdblock3 on /system type yaffs2 (ro,relatime)
.........
下了 mount 命令会发现类似上方的这一行,就是 /system 目录挂载的资讯,ro 就是唯读 (Read-Only) 的意思,接著记下碟磁区块名称 ( /dev/block/mtdblock3 )。
接著将手机关机後,用 Recovery 模式开机,因为如果我们直接将开机运作中的 /system 目录重新挂载会遇到装置忙录 (Device busy ) 的状况。开机後一样再用 ADB 连上手机。
#mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
/dev/block/mtdblock4 on /cache type yaffs2 (rw,nodev,noatime,nodiratime)
不难发现 /system 是没有挂载的,这时侯我们就可以手动挂载啦,因为根目录 ( / ) 已经是以 rw 挂载,所以基本上我们只要把 /system 挂载在碟磁区块上就可以了。
# mount /dev/block/mtdblock3 /system
大功告成,接著开始修改或删除不要的档案噜,最後再把手机重新开机就好啦~
以下列出主要的 apk
- stk.apk - SIM 卡工具。
- jbed.apk - Java。
- 本文由作者宣告为原创文章, 为尊重著作权, 未经作者同意请勿任意转载
- 关键字 : system, relatime, HtcPlurk, 手机, mount, block, 挂载, mtdblock3, Android, 软体, 权限, yaffs2, tmpfs, sysfs, rootfs, devpts, Uninstaller, Magic, Linux, 鱼这个答案