android使用mount挂载/system/app为读写权限,删除或替换系统应用

在android 手机没有root的情况下,教你如何删除或替换系统应用

注意:以下代码中#开头的则为需要执行的shell命令,其他的为打印的结果。#代表需要使用ROOT权限(su )执行,所以想要修改您android手机某个目录挂载为读写,首先需要有ROOT权限!

先使用su  -s 获得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/mtdblock11  /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/mtdblock11   /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/mtdblock11  /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/mtdblock11  /system

当/system 目录为RW权限后,您就可以随意删除或者替换系统应用了。可能您替换程序后还需要执行

$chmod 644 /system/app/您的程序.apk
$代表一般权限,无需ROOT权限即可执行的命令。执行此命令后您的APK才能获得执行权限,否则默认是无法执行的,程序在system/app目录不显示图标,那说明它没有执行权限


那么如何将一个第三方app 放入 system/app  

我是先将app放在手机sd卡:复制到system/app下即可。

当前目录是:/
# cp /mnt/sdcard/Adobe_reader.apk   system/app

经测试成功!

还需要注意将apk文件内的 lib文件放到system/lib里面。





你可能感兴趣的:(android学习)