Android HotPatch

如果要 patch 掉系统的一些服务,例如 installd, rild 之类,步骤:

1. 把 /system/bin/ 目录下的文件直接重命名,然后把 patch 的新文件用原来的名字保存到这个目录下。例如,把原来的 /system/bin/installd 改名成 /system/bin/installd.bak,然后保存一份新的 installd.

2. 杀掉原来的进程,然后重新启动新进程。系统的服务最好用 setprop 来停止和启动,例如:

setprop ctl.stop installd setprop ctl.stop ril-daemon

系统服务的名字可以到 /init.rc 里面去找。

重新启动用

setprop ctl.start installd setprop ctl.start ril-daemon

 

这样就 patch 掉原来的服务了,整个过程不需要重新启动手机。

 

注意:

1. 直接写文件会遇到 Read-only file system 的错误,所以要 remount,命令行是

mount -o remount rw /system/

2. 在 Android Emulator 下面的话重启之后就还原了,只能在真机上这么做。

你可能感兴趣的:(android,File,System,手机,patch)