1. 程式人生 > >android使用mount掛載/system/app為讀寫許可權,刪除或替換系統應用

android使用mount掛載/system/app為讀寫許可權,刪除或替換系統應用

注意:以下程式碼中#開頭的則為需要執行的shell命令,其他的為列印的結果。#代表需要使用ROOT許可權(su)執行,所以想要修改您android手機某個目錄掛載為讀寫,首先需要有ROOT許可權!

先要得到system分割槽的全名
#adb shell
# mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 ro 0 0

/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

從上面的紅字部分可以看得出/system的許可權是ro即是read only。

# mount -o remount /dev/block/mtdblock0 /system
# mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 rw 0 0

/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
已經修改完成

如果要改回去ro
#mount -o remount,ro /dev/block/mtdblock0 /system

當/system 目錄為RW許可權後,您就可以隨意刪除或者替換系統應用了。可能您替換程式後還需要執行

$chmod 644 /system/app/您的程式.apk

$代表一般許可權,無需ROOT許可權即可執行的命令。執行此命令後您的APK才能獲得執行許可權,否則預設是無法執行的,程式在system/app目錄不顯示圖示,那說明它沒有執行許可權