AOSP源码定制-内置可执行文件

AOSP源码定制-内置可执行文件

Posted by hmoytx on November 27, 2023

AOSP源码定制-内置可执行文件

介绍

因为要经常刷机测试,为了方便测试,不想每次刷完机都adb push文件进手机,这里尝试把可执行文件内置到系统中打包刷入。
下面是用AOSP8来演示。

添加可执行文件和Android.mk

这里以frida14的server为例,我这里重命名成myfs14,便于区分。
我们找到目录AOSP/frameworks/base/cmds/,这里新建了一个文件夹,用于存放我内置的三方可执行文件,可以根据自己喜好来。
1
继续建立新的文件夹myfs14也是为了便于区分:
2
把可执行文件frida14的server放进去,并新建一个Android.mk文件,内容如下: 3

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)


LOCAL_CHECK_ELF_FILES := false
LOCAL_MODULE := myfs14
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_SRC_FILES := myfs14
include $(BUILD_PREBUILT)

这里把LOCAL_CHECK_ELF_FILES和LOCAL_SRC_FILES改成你自己的可执行文件的名称即可。

添加进系统环境

接下来把可执行文件添加进系统环境,找到/build/make/target/product/base.mk文件。AOSP10可以放到/build/make/target/product/base_system.mk文件中。
找到PRODUCT_PACKAGES,添加上面的可执行文件名称:
4

添加执行权限

继续添加可执行文件的ROOT执行权限,找到/system/core/libcutils/fs_config.cpp文件,这里我们之前修改su的时候修改过这个文件,找到改过的地方,在下面添加 5

刷机测试

修改添加完了,直接make,等一小会就可以了。
编译完后进行测试,可以看到system/bin目录下已经有我们放入的文件了: 6
命令也直接存在了:
7

总结

通过添加修改配置文件,将常用的一些可执行文件内置到系统中,简化测试流程。