Android 11源码 Framework定制
目标: 对Framework
定制开发,修改Framework
层代码,编译查看修改效果。我们先从简单的添加log日志输出开始,一步步到修改逻辑。本节我们在系统服务(SystemService)启动前输出自己的日志。
修改Framework层源码
- 执行环境编译:
cd ~/aosp
source build/envsetup.sh
lunch
- 找到
SystemService.java
所在目录:
framework/base/services/java/com/android/server/
godir SystemService.java
- 用编辑软件打开源码目录,并修改源码:
在启动系统服务前,我们加入一条自己的log日志信息。
编译修改后的源码
只修改了部分源码,不用对整个源码进行编译,我们在修改的目录下执行mm
命令,对修改模块进行编译即可。
mm
编译后生成services.jar
文件,输出到:out/target/product/sargo/system/framework/目录。
cd ~/aosp/out/target/product/sargo/system/framework/
ll
进入到输出目录,通过ls
命令查看,可以看到services.jar
的日期为当期编译好的时间。
更新到手机系统
- 在更新之前我们先查看一下当前手机系统中
services.jar
文件的信息。
adb devices
adb root
adb remount
adb shell
cd /system/framework
ls -al
- 将修改编译后的文件更新到手机系统
cd ~/aosp/out/target/product/sargo/system/framework/
adb push services.jar /system/framework/
3. 进入手机系统查看是否更新成功
adb shell cd /system/framework
ls -al
可以看到手机系统中services.jar
文件的日期已经更新为编译后的时间。
- 重新启动系统服务
adb shell
stop;start
- 查看log日志信息
adb shell
logcat -s "lxy"