Android 单编 framework 相关产物输出介绍 - 详解

背景

如果想要高效调试 frameworks/base/services/core 目录下的档案类,能如何单编替换系统文件实现?比如NetdEventListenerService?

frameworks/base/services/core/java/com/android/server/connectivity/NetdEventListenerService.java

首先说以上结论,不能“单独”编译为可直接安装的apk/jar,但可以只编译(包含上述类的)这一部分!

  • 不能直接只编译单个 Java 源文件,必须在它所属的模块编译(Android build system的规则)。
  • 编译出来并不是单独的NetdEventListenerService.class,还是属于整个services.core.jar,最终汇入framework.jar或者services.jar等。
  • 如果只想修改并测试这个类的行为,改完代码,mmmake framework 后重新刷机/替换 framework jar,再重启 SystemServer 即可。

具体位置

NetdEventListenerService.java 属于 frameworks/base/services/core 目录,最终会被编译进 services.core 组件,
而这个组件最后会打包进 framework.jar 里。

详细流程:
  • 该类属于 SystemServer进程的一部分。
posted @ 2025-07-30 10:07  wzzkaifa  阅读(49)  评论(0)    收藏  举报