Android调试底层服务

来源:互联网 发布:淘宝悠悠球哪家好 编辑:程序博客网 时间:2024/06/14 00:15
  之前调试过VOLD,调试起来极为麻烦,稍微改一点就要编译整个系统,然后烧写system.img。极为耗时,经过多时经验总结出来了类似调试应用程序的调试方法,高效快速。这里先还以VOLD为例子。
  
  修改源码后单独编译VOLD:
  $ mmm system/vold

然后执行以下脚本,就可以直接观察现象了:
#!/bin/sh# vold 调试脚本# 作者:kangear# 2014-02-09# build vold# mmm system/vold  &&# send vold# sz out/target/product/rk30sdk/system/bin/vold  &&# pushadb push /root/ybk-hw/ybkMisc/out/target/product/rk30sdk/system/bin/vold /system/bin &&# chmodadb shell busybox chmod 777 /system/bin/vold   &&# stop voldadb shell setprop ctl.stop vold  &&# start voldadb shell setprop ctl.start vold

#!/bin/sh# services 调试脚本# 作者:kangear# 2014-02-09# build vold# mmm frameworks/base/services/java/ &&/root/remount.sh &&# send vold# sz out/target/product/rk30sdk/system/bin/vold  &&# pushadb push /root/ybk-hw/ybkMisc/out/target/product/rk30sdk/system/framework/services.jar /system/framework/ &&# rebootadb shell reboot

20140625更:

最为方便的是adb sync来同步代码,其中启动和关闭部分还算有用。adb push那些太麻烦了。

20141226更:

# author: kangear# data  : 2014-12-26### sync file between PC and target device# system diradb -p /out/to/path sync system# data diradb -p /out/to/path sync data### build modules# frameworksmake framework-res && make framework && make services && make android.policy# voldmmm system/vold# service jnimmm frameworks/base/services/jni# service javammm frameworks/base/services/java# coremmm frameworks/base# hardware modulesmmm hardware/libhardware/modules/### restart xxx# whole android os(about kernel/bootloader)adb shell reboot# only android os without kernel/bootloader/c_service(vold/..)adb shell "stop && start"# only voldadb shell "setprop ctl.stop vold && setprop ctl.start vold"# ...



0 0
原创粉丝点击