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

在这里插入图片描述

  1. 用编辑软件打开Calendar目录
    在这里插入图片描述

  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");
	
	// 省略其他代码
	...
}

在这里插入图片描述

在这里插入图片描述

编译修改后的App

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

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

在这里插入图片描述

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

在这里插入图片描述

  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,我们看到命令行输出了我们添加的日志信息:
    在这里插入图片描述
  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Android源码中,将一个应用程序放置为系统应用程序需要进行以下步骤: 1. 在Android源码中添加应用程序的目录结构:在“packages/apps”目录下创建一个新的目录,其中包含应用程序的源代码和资源文件。 2. 在Android的构建脚本中添加应用程序:打开“build/target/product/core.mk”文件,并在其中添加应用程序的条目。这将确保在构建系统时包括应用程序。 3. 将应用程序的权限设置为系统级别:在应用程序的清单文件(AndroidManifest.xml)中,将权限设置为“android.permission.INSTALL_PACKAGES”和“android.permission.DELETE_PACKAGES”。这样,应用程序将具有安装和删除其他应用程序的权限。 4. 将应用程序添加到Android系统的默认构建:在构建系统配置文件(例如“build/target/product/phone.mk”)中,将应用程序的包名添加到默认应用程序列表中。 5. 构建Android源码:运行适当的构建命令,根据您的平台和设备类型生成系统映像。 6. 安装应用程序:将生成的系统映像烧录到目标设备或模拟器上,并执行ADB(Android Debug Bridge)安装命令将应用程序安装到系统。 通过以上步骤,在编译系统时将应用程序包含为系统应用程序,并将其安装到设备上,您的应用程序将被认为是系统级别的应用程序。这将允许您的应用程序具有更高的权限,例如访问系统级别的功能和资源。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值