Android.mk的总结和使用

本文介绍了Android.mk的使用,特别是在将文件复制到系统指定目录的需求中。通过Android.mk,可以配置编译过程,包括设置变量、指定编译类型等。文章提供了包含多个文件的示例,并提到为了使修改在系统整体编译中生效,需要将其添加到系统.mk文件中。对于初学者,文章解释了Android.mk中关键变量的含义,帮助理解编译过程。
摘要由CSDN通过智能技术生成

:因为博主需要完成一个需求,于是便认识了Android.mk。需求的目标就是将一系列文件Copy到系统的指定的目录下。

另外有RC启动二进制文件的例子:https://blog.csdn.net/qq_31332467/article/details/104754871

先看下本文需求中需要用到的文件:
在这里插入图片描述
如上所示:主要是将这些文件Copy的指的路径下,在系统启动之后可以被直接调用起来。

LOCAL_PATH := $(call my-dir)

## copy libcarplay_jni.so to system/lib64
include $(CLEAR_VARS)
LOCAL_MODULE := libcarplay_jni
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_SRC_FILES :=lib64/libcarplay_jni.so
LOCAL_MODULE_PATH :=$(PRODUCT_OUT)/system/lib64/
include $(BUILD_PREBUILT)

## copy CarPlayApp apk  to system/app
include $(CLEAR_VARS)
LOCAL_MODULE := CarPlay
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_SUFFIX := .apk
LOCAL_SRC_FILES := apk/CarPlay.apk
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/system/app/
include $(BUILD_PREBUILT)

## prebuild mdnsd binary to /system/bin/
include $(CLEAR_VARS)
LOCAL_MODULE := mdnsd
LOCAL_MODULE_TAGS  := optional
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_SRC_FILES := bin/mdnsd
LOCAL_MODULE_PATH :=$(PRODUCT_OUT)/system/bin/
include $(BUILD_PREBUILT)

## copy init.qcom.test.rc from etc to /vendor/etc/init/hw    
include $(CLEAR_VARS)
LOCAL_MODULE := CarPlayService
LOCAL_MODULE_TAGS  := optional
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_SRC_FILES := bin/CarPlayService
LOCAL_INIT_RC := etc/init.qcom.carplay.rc
LOCAL_MODULE_PATH :=$(PRODUCT_OUT)/system/bin/
include $(BUILD_PREBUILT)

## copy init.qcom.testscripts.sh  from etc to /system/etc   
include $(
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值