• 亮
    2019-03-12
    以前总以为调试源码需要下载源代码,编译工程,今天才知道原来还可以这样,新技能get√
    
     12
  • 代码GG陆晓明
    2019-03-12
    如果调试某个具体的流程,就将关联的文件放到对应的包名下即可。找对你要调试的进程,就可以在这些文件的具体方法下断点,进行调试跟踪。

    当发现没有调试上的时候,可以确定下是否源码不匹配?是否调试的进程不对(可以通过干掉你调试的进程,看看是否你调试的东西会挂掉,当然systemserver干掉手机就软重启啦。你想调试systemserver的启动过程,倒是可以这么干)在调试的过程中,使用源码阅读工具,将相关联的代码放入环境,在可疑地方,或者方法调用的地方设断点,做个简单判定即可,然后使用多个断点的设定,来卡住具体走到哪个流程,在断住之后,使用堆栈回溯,看看调用顺序,帮你梳理整个流程。
    
     9
  • Dimple
    2019-03-12
    我就是有个毛病,遇到难的,更底层的东西总想着绕过去,而不是迎头而上,所以很多时候不能很好的解决问题。惧怕看源码,调试,到现在不一样了,我也知道很多高手都是能轻松看源码和调试,所以我也试着改变自己了

    作者回复: 很多时候是绕不过去的,或者不深入底层是找不到优化的方法

    
     7
  • 代码GG陆晓明
    2019-03-12
    楼上说的官方是在8.1,需要自己切换分支,下载9.0的就行了。 国内的可以先使用清华镜像下载,下载好了切换到9.0的代码上。

    有问题欢迎在官方安卓进阶开发微信群@ 我,随时等待大家的交流。
     1
     6
  • bytecode
    2019-03-15
    调试Android Framework的Java部分代码,以调试源码android-28为例,需要一个API 28的模拟器配合使用。
    1、下载源码
    下载源码方式很多,由于调试Framework只需要java代码即可,这里使用Android Studio的SDK Manager下载android-28为例,sdk/sources下看到android-28源码。
    2、新建一个项目,包名cn.test.demo,避免com开头是因为源码有com,等下拷贝源码是避免重复。
    3、拷贝源码到项目的java目录下。
    4、新建一个与源码对应的模拟器。
    5、启动模拟器,选择debug的进程。
    6、选择某一个源码类进行调试。
    更多查看:https://github.com/libill/DebugAndroidFramework
    展开
     1
     5
  • 代码GG陆晓明
    2019-03-13
    看到很多朋友留言,让我感觉受宠若惊。不时在看着留言又有哪些问题,想给大家更好的解答。
    极客没有专门针对一条留言回复的功能,导致回复的有些乱。
    如果有机会,欢迎大家加我微信,帮你解答调试中的任何疑问。
    再次感谢!
    我的微信

    code_gg_boy

    展开
    
     3
  • wang_acmilan
    2019-03-12
    支持明哥,前排占座。调试framework是系统工程师必备技能。
    
     3
  • tt716
    2019-03-12
    有一个问题,如何能下到与genymotion中镜像对应的源码呢?不然debug的时候有的行会对不上
    
     2
  • 河里的枇杷树、
    2019-11-07
    豁然开朗啊
    
    
  • 想不出名字
    2019-09-15
    有什么好的framework的书介绍吗?framework的资源好难找
    
    
  • 邱
    2019-09-05
    以前一直以为只有对应源码,对应手机版本才能调试 framework。这时才恍然大悟,可以用 Genymotion,加官方代码
    
    
  • Jiantao
    2019-05-18
    模拟器+对应sdk版本源码+调试进程 ,就可以debug了。感谢分享。
    
    
  • abero
    2019-04-29
    真机可以调试源码吗
    
    
  • h波
    2019-03-28
    我在实际操作中,在 Attach debugger to Android process 中找不到 system_process 这个进程,这是怎么回事呀
     2
    
  • 张曦
    2019-03-28
    涨姿势,支持明哥!
    
    
  • 一片羽毛
    2019-03-18
    回去实验下
    
    
  • seven
    2019-03-13
    🐮🐮🐮
    赞了收藏再说!
    
    
  • HI
    2019-03-12
    长见识了。。不过对于native的函数还是挺麻烦的,不知道是否有好的办法
    
    
  • 奚岩
    2019-03-12
    文中提到的到 androidxref 下载的源码,是一个个下载么,怎么全部下载呢?
    官方的 aosp 网站( https://source.android.com/setup/build-numbers.html#source-code-tags-and-builds )最新的是 8.1 的。
    
    
  • 刘伟
    2019-03-12
    这两天遇到一个问题:
    framework.jar 应该就是framework的源码,但是这两天我遇到一个崩溃,这个崩溃打印出来的线程调用栈 和 framework.jar 中反编译的源码不一样,这是为什么呢?

    这个 framework.jar 是我从出现崩溃的手机上导出的







    展开
    
    
我们在线,来聊聊吧