Android如何完全调试framework层代码

1 之前写过一篇文章:《Android实现开机调试system_process》

2 google的eclipse插件ADT的已经能够很方便的调试Android的apk了,但是调试的时候应用程序已经进入Activity。

3 如果我们想了解一下Activity的启动过程,只有看代码+看log输出了吗?本文可以告诉你:NO!

4 相信大家比较感兴趣的都是代码,这里先把代码再放出来

ZygoteInit.java


  public static List<String> readCommandOutput(String command)  {

     Runtime rt =Runtime.getRuntime();

     java.lang.Processproc;

     try {

       proc =rt.exec(command);

       

       if (proc.waitFor() != 0) {

          return null;

       }

       LinkedList<String>list = new LinkedList<String>();      

       InputStreamReader ir = new InputStreamReader(proc.getInputStream());

       BufferedReader in = new BufferedReader(ir);       

       String line = null;  
  • 1
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
1. 了解编译环境 在开始编译和调试之前,需要确保已经正确设置了编译环境。具体来说,需要安装并配置好 Android NDK、Android SDK、JDK 和 build 工具。另外,还需要下载 Android 源码并正确配置。 2. 修改代码 在修改 framework 代码之前,需要确保已经正确配置了 Android 源码。如果没有配置,请参考 Android 官方文档进行配置。 在进行代码修改之前,最好先了解一下要修改的代码在哪个文件中,需要修改哪些内容。可以使用 grep 命令来搜索代码,例如: ``` grep -r '要修改的内容' /path/to/android/source/code ``` 修改代码之后,可以使用 git diff 命令检查修改的内容。 3. 编译代码 在编译代码之前,需要确保已经正确配置了编译环境。可以使用以下命令进行编译: ``` make -jN ``` 其中 N 表示 CPU 核心数,可以根据自己的电脑配置进行调整。编译时间可能比较长,可以使用 ccache 工具加速编译过程。 如果只需要编译某个模块,可以使用以下命令: ``` make -jN module_name ``` 其中 module_name 表示要编译的模块名称。例如,如果要编译 framework 模块,可以使用以下命令: ``` make -jN framework ``` 4. 安装和调试 在编译完成之后,可以使用以下命令将编译好的代码安装到设备中: ``` adb remount adb sync adb reboot ``` 其中 adb remount 命令用于将文件系统重新挂载为可读写模式,adb sync 命令用于将编译好的代码同步到设备中,adb reboot 命令用于重启设备。 如果需要调试代码,可以使用 Android Studio 或 Eclipse 等 IDE 进行调试。在进行调试之前,需要确保已经正确配置了 IDE 的开发环境。可以参考 Android 官方文档进行配置。 在 Android Studio 中,可以使用 Run 或 Debug 按钮进行调试。在调试时,可以在代码中设置断点并查看变量的值以及调用栈。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值