Android.mk语法学习

Makefile 中:= ?= += =的区别:
= 是最基本的赋值 (变量的值将会是整个makefile中最后被指定的值)
:= 是覆盖之前的值 (变量的值决定于它在makefile中的顺序,而不是整个makefile展开后的最终值)
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值

Android.mk常用的变量

变量名参数功能
LOCAL_INIT_RCRC文件名将服务相关的RC文件编译到相应etc/init
LOCAL_VENDOR_MODULEtrue供应商模块是指供应商专用的可执行文件或共享库,这些模块必须安装到供应商分区中。在 Android.bp 文件中,供应商模块必须将 vendor 或 proprietary 属性设为 true。在 Android.mk 文件中,供应商模块必须将 LOCAL_VENDOR_MODULE 或 LOCAL_PROPRIETARY_MODULE 设为 true
LOCAL_MODULE模块名定义模块名字
LOCAL_MODULE_TAGSuser eng tests optional决定在相应的版本能否编译
include $(BUILD_EXECUTABLE)-编译为Native C可执行程序
include $(BUILD_STATIC_LIBRARY)-编译为静态库
include $(BUILD_SHARED_LIBRARY)-编译为动态库
LOCAL_SHARED_LIBRARIESlibrary name要链接到本模块的动态库
include $(CLEAR_VARS)-清理LOCAL变量,除了LOCAL_PATH
LOCAL_PATH := $(call my-dir)-每个Android.mk文件必须以定义LOCAL_PATH为开始。它用于在开发tree中查找源文件,宏my-dir 则由Build System提供。返回包含Android.mk的目录路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
android.mk 是一种用于构建 Android 应用程序的 Makefile 文件格式,而 android.bp 是将要取代 android.mk 的一种新的构建系统文件格式,它是用于生成 Android 系统的 Blueprint 构建系统的配置文件。 要将 android.mk 转成 android.bp,首先需要了解 android.mk 的结构和语法规则,然后根据这些规则来编写对应的 android.bp 文件。由于 android.bp 是基于 Blueprint 构建系统的配置文件,所以需要通过编写规范的 Blueprint 描述文件来完成对 android.mk 的转换。 在转换过程,需要注意以下几点: 1. 将 android.mk 文件的每个模块(例如库,可执行文件,模块等)的描述转换为对应的 android.bp 格式。 2. 考虑和处理 android.bp 特有的新特性和语法规则,例如 module {} 块的使用。 3. 更新外部依赖项的描述,如库的引入方式、依赖关系的定义等。 4. 调整路径和命名规则,使之符合 android.bp 的文件组织结构和命名规范。 在转换完成后,需要进行测试和验证,确保转换后的 android.bp 文件可以正确地生成相应的 Android 应用程序。同时,也需要注意在转换过程可能会出现的兼容性问题,确保转换后的 android.bp 文件能够正常地被构建系统接受并使用。 总的来说,将 android.mk 转成 android.bp 需要对 android.mk 的结构和语法进行理解,并根据 Blueprint 构建系统的规则和特性来进行相应的转换和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值