Android AOSP单步调试与效率提升
源码级单步调试的效率提升,排错更干脆。你能看见每一行跑到哪,变量怎么变。遇到玄学问题也不慌,停住看一眼,思路就顺。
编译完成的 AOSP 产物在 out/target/product/generic,常用镜像有 system.img、ramdisk.img、userdata.img,好找还好记。
模拟器启动的命令行比较简单,指定三块镜像就行。端口别占用,CPU 虚拟化开着,响应也快。常用写法放下面,你拷贝就能跑:
emulator -system system.img -userdata userdata.img -ramdisk ramdisk.img
IDE 导入源码的姿势挺随意,Android Studio 和 Eclipse 都还不错。走老路配 DDMS,新路用远程调试,哪个顺手用哪个。
远程调试的关键是 JDWP。类型选 Socket Attach,主机写 localhost,端口常见 8616 或 8700,连上就能断点。
源码映射要加全,点 Source 把 AOSP 目录加进来。嗯,断点命中后多看调用栈,参数变化也盯一眼,异常能提前暴露。
日志联动蛮香,logcat 过滤包名,信噪比高。性能抖动?看方法耗时,必要时加 Trace 标记,定位更快。
进阶建议也补上:想追 native 层,用 lldb 或 gdbserver;连不上端口,试试 adb forward tcp:8700 jdwp:
文件大小:13.28KB
评论区