Android HotPatch

本文介绍如何在不重启手机的情况下,通过重命名并替换文件的方式patch掉Android系统的特定服务,如installd和rild等,并使用setprop命令进行进程的停止与重启。

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

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

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

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

重新启动用

 

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

 

注意:

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

mount -o remount rw /system/

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值