此前公司组中,一直在做系统应用的开发、rom 的定制,包括不限于 Settings,Launcher3,SystemUI 等等。在开发的过程中,修改 Google 工程师写的这些应用,再正常不过了。但是在修改系统应用的时候怎么可以提高验证效率呢。
之前验证自己修改的系统应用是否成功的时候,都是整编rom,然后刷机,再测试。这个过程短则几十分钟,长则一个小时,太浪费时间。中间同事给我说了一种快速验证方式,现在记录一下。
比如现在我在修改一个 XXXService 的系统预置应用:
首先,使用 Android Studio 编译出来 XXXService.apk ,把这个 XXXService.apk 放置到 xxx/xxx/xxx/apps/XXXService 包下。
然后在 xxx/xxx/xxx/apps/XXXService 包下执行 :source javaenv.sh 、mm
编译完成之后,会在 xxx\out\target\product\rk3399\system\priv-app\XXXService 包下生成两个文件,一个是名字为 XXXService.apk ,一个是 oat 文件夹,这里拷贝出来这个 XXXService.apk 备用(暂时不用管 oat 文件夹)。
这个时候,按照下面命令执行:
adb root
adb remount
adb shell
cd /system/priv-app/XXXService
rm -rf XXXService.apk
ls
exit
adb reboot
adb push XXXService.apk /system/priv-app/XXXService/
adb reboot
这样验证 XXXService.apk 的功能就可以了,可以省去不少时间。