Android 11源码 修改系统App后进行编译

Android 11源码 修改系统App后进行编译

目标: 修改系统App源码,然后编译生成apk。我们在系统日历App中增加一个日志输出,然后编译生成apk,并安装查看修改效果。

修改系统日历App源码

  1. 进入系统日历App目录
    系统日历App源码在下载的Android 11源码下 /packages/app/Calendar/目录。Android11源码下载参考文章: Ubuntu 16.04下载编译Android11源码
cd ~/aosp/packages/app/Calendar

Android 11源码 修改系统App后进行编译

  1. 用编辑软件打开Calendar目录
    Android 11源码 修改系统App后进行编译

  2. 修改App源码
    我们分别在ActivityonCreate()onDestory()回调函数中增加log日志信息输出

AllInOneActivity.java文件修改如下:

// 省略其他代码
...
	
@override
protected void onCreate(Bundle icicle) {
	super.onCreate(icicle);

	// 20210615:add by lxy
	Log.i(TAG, "App onCreate(): add by lxy");
	
	// 省略其他代码
	...
}

// 省略其他代码
...

@override
protected void onDestroy() {
	super.onDestroy();

	// 20210615:add by lxy
	Log.i(TAG, "App onDestroy(): add by lxy");
	
	// 省略其他代码
	...
}

Android 11源码 修改系统App后进行编译

Android 11源码 修改系统App后进行编译

编译修改后的App

因为只修改了日历App的源码,我们只用对该App重新编译即可,不用对整个源码进行编译。

  1. 执行环境编译:
cd ~/aosp
source build/envsetup.sh

Android 11源码 修改系统App后进行编译

  1. 进入到系统日历App目录:
cd ~/aosp/packages/app/Calendar
  1. 执行模块编译命令:
mm

Android 11源码 修改系统App后进行编译

  1. 编译后会生成apk文件,输出到out/target/product/generic/system/product/app/Calendar/Calendar.apk

安装生成的apk到样机,并查看修改结果

  1. 使用命令安装apk:
cd ~/aosp/out/target/product/generic/system/product/app/Calendar
adb install -r Calendar.apk
  1. 命令行查看log日志信息:
adb shell logcat -s "AllInOneActivity"
  1. 启动日历App,我们看到命令行输出了我们添加的日志信息:
    Android 11源码 修改系统App后进行编译
上一篇:教我兄弟学Android逆向08 IDA爆破签名验证


下一篇:AndroidStudio生成安卓共享库(sharedlibrary)