Android 源码 中写后台应用

本文详细介绍了如何在Android设备上定制后台进程,包括在vendor目录中创建Android.mk文件和server.cpp,以及如何通过makefile配置实现。此外,还讲解了如何设置模块属性,如LOCAL_MODULE_TAGS和LOCAL_32_BIT_ONLY,以及如何通过init.rc文件配置实现开机自动启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android 开机启动的时候会有一些后台进程跑起来,当然我么也可以定制

在vendor 的目录中放置 一个Android.mk文件还有一个server.cpp,头文件配置

makefile配置

# LOCAL_PATH变量。它用于在开发树中查找源文件 my-dir 编译系统提供
LOCAL_PATH := $(call my-dir) 

# executable bin  
#清除所有local变量除了LOCAL_PATH
include $(CLEAR_VARS)  
#设置模块的名称
LOCAL_MODULE :=server
#基于arm处理器的arm指令
LOCAL_ARM_MODE := arm
LOCAL_PRELINK_MODULE := false
#包含的头文件
LOCAL_C_INCLUDES := \    
	$(LOCAL_PATH) \
	$(LOCAL_PATH)/server/include \
    $(TOP)/frameworks/xx/include 
#静态 stl 库
LOCAL_STATIC_LIBRARIES := libgnustl_static
#静态 动态库  android 的
LOCAL_SHARED_LIBRARIES += libcutils \
                          libutils 
h264fifo
# 单独进入模块mm 可以编译,但是make image 不会进入image 如果想编译进去在device.mk 中添加 
# PRODUCT_PACKAGES += server

#LOCAL_MODULE_TAGS :=user eng tests optional
#user: 指该模块只在user版本下才编译
#eng: 指该模块只在eng版本下才编译
#tests: 指该模块只在tests版本下才编译
#optional:指该模块在所有版本下都编译
LOCAL_MODULE_TAGS := optional 
#64位安卓系统中使用32位SO库
LOCAL_32_BIT_ONLY := true
LOCAL_CLANG := true
#编译的源码
LOCAL_SRC_FILES := \
	$(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/server/*.c*))
# 表示编译成可执行文件  烧录在目录system/bin中
include $(BUILD_EXECUTABLE)


# 自己制作一个so文件配置
include $(CLEAR_VARS)

LOCAL_MODULE := libserver_use

LOCAL_C_INCLUDES := \
	$(LOCAL_PATH)/server \

LOCAL_MODULE_TAGS := optional
LOCAL_SHARED_LIBRARIES += libcutils \
                          libutils

LOCAL_SRC_FILES := \
	$(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/server/*.c*))
#表示编译 成一个so 
include $(BUILD_SHARED_LIBRARY)

以上就是配置

server.cpp 函数写

int main(int argc, char *argv[]) {
	//  写普通cpp函数 单独的linux 应用
}


##设置成开机启动
在init.rc 中配置

# 因为不是重要的进程 设置延迟启动 设置用户组权限 disable 表示不启动,延时启动 oneshot 表示马上启动
service rtsp_server /system/bin/server
    class late_start
    user root
    group root
    disabled

如果不设置上面的内容,和linux 一样adb shell进入 android 手动启动应用进程 ,android 所有的后台进程后是这么设置的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值