有的时候,想确认一下Activity启动过程中的一些细节,但是代码都再Framework中,
单单想确认一下某个条件或者某个变量的值,又不想再代码中加 Log, 则可以考虑使用Android studio 调试。
前提: 已经熟悉Android Studio App 的调试方法
1 在AS 新建一个Android 工程
可以是一个空的工程名为FrameworkDebug, 然后gradle同步
例如自动创建的MainActivity 路径为:
FrameworkDebug\app\src\main\java\com\example\frameworkdebug\MainActivity.java
2 将Framework代码拷贝到你的工程中
注意包名需要和所在的目录一致,
例如 : com\android\server\wm\ActivityTaskManagerService.java
则根据对应上面工程的路径则为:
FrameworkDebug\app\src\main\java\com\android\server\wm\ActivityTaskManagerService.java
package com.android.server.wm;
//...
public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
3 Android Studio 调试
最顶菜单栏 -> Run -> Attach Debugger to Android Process -> 选择你的设备 -> Show All processes
-> 选择 system_process, -> ok
然后打断点即可
注意: 代码需要和你设备上的版本一致, 否则可能debug时出现行号不对