AOSP调试实战:用Android Studio给SystemServer进程下断点的正确姿势
调试Android系统核心进程是Framework开发工程师的必修课。SystemServer作为Android系统的核心进程,承载了AMS、PMS等关键服务,但直接在Android Studio中调试它却充满挑战——符号表加载失败、断点不生效、进程attach超时等问题频发。本文将揭示一套经过验证的调试方法论,从设备准备到实战技巧,带你穿透调试迷雾。
1. 调试环境准备:构建可调试的AOSP镜像
调试系统进程的首要前提是拥有匹配源码的调试环境。不同于普通应用开发,系统级调试需要完全自编译的AOSP镜像和特定配置的调试设备。
1.1 编译调试版系统镜像
在AOSP根目录执行以下命令生成eng版本镜像:
source build/envsetup.sh
lunch aosp_arm64-eng # 根据设备选择target
make -j12
关键参数说明:
- eng版本:默认开启root权限和调试符号
- userdebug版本:部分调试功能受限
- user版本:完全不可调试
提示:编译前建议修改
development/tools/idegen/idegen.sh脚本,添加--exclude参数过滤非必要模块,可显著减少索引时间
1.2 设备刷机与Root权限配置
将编译生成的镜像刷入测试设备后,需要确保:
adb root
adb remount
adb shell setenforc


被折叠的 条评论
为什么被折叠?



