Android Framework 之 使用Android st

2022-04-15  本文已影响0人  行走中的3卡

有的时候,想确认一下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时出现行号不对

上一篇下一篇

猜你喜欢

热点阅读