自己动手调试Android源码

本文详细介绍了如何在Ubuntu 16.04和Android Studio环境下调试Android源码。从基础准备,包括编译idegen模块,修改配置文件,到源码导入、排除不必要的模块,再到解决源码跳转错误问题,最后演示了源码调试步骤,帮助开发者深入理解Android系统的运行机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己动手编译Android最新源码一文中,我们为自己编译了一份最新的Android源码.很多时候,我们编译源码的目的不仅仅是尝试一番,而是希望对其进行调试,并修改源码,看看其中一些关键机制的运行原理.比如你对AMS掌握不深,那么就来单独的调试一下;又或者是说你想看看launcher的实现原理,同样也可以自己动手调试.更或者说,你觉得某个模块很不理想,想自己修改一番,那就更好了.

下面,我们来说说如何调试源码.同样这里的工作平台还是ubuntu 16.04和Android Studio.另外,本文参考源码中developent/tools/idegen/README文档.


基础准备

源码编译完整之后,我们就可以导入源码到Android Studio中进行调试了.那么如何调试呢?
在源码中,存在idegen模块,该模块专门用来为idea工具生成系统源码的project.

在开始编译该模块之前,首先确保你已经编译过Android源码了,如果没有,可以参考上篇文章进行编译.
和编译普通的模块一样,我们用mmm命令编译idegen.在开始编译之前,检查out/host/linux-x86/framework/目录下是否存在idegen.jar文件,存在则说明你已经编译过该模块,否者,则需要编译.执行如下命令即可:

soruce build/envsetup.sh
mmm development/tools/idegen/
sudo ./development/tools/idegen/idegen.sh

其中mmm development/tools/idegen/执行完成后会生成idegen.jar,而sodo ./development/tools/idegen/idegen.sh则会在源码目录下生成IEDA工程配置文件:android.ipr,android.iml及android.iws.

简单的说明一下这三个文件的作用:

android.ipr:通常是保存工程相关的设置,比如编译器配置,入口,相关的libraries等
android.iml:则是主要是描述了modules,比如modules的路径,依赖关系等.
android.iws:则主要是包含了一些个人工作区的设置.

到目前为止,我们就完成了源码准备工作.


源码导入

2.1 修改AS配置文件

编译成功后,现在我们就可以将源码导入Android Studio了.但是在导入之前,我们先修改一下Android studio的配置:32位系统下修改idea.vmoptions,64位下修改idea64.vmotions
调整其中的-Xms和-Xmx参数值,官方要求至少在748m以上,根据实际情况进行配置即可.
然后进入android-studio目录下的bin文件夹,执行如下命令启动Android Studio

./st
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值