Android.mk内的变量定义

3.1 LOCAL_PATH

一个Android.mk file首先必须定义好LOCAL_PATH变量。它用于在开发树中查找源文件。例如:

1.LOCAL_PATH:= $(call my-dir)

-

宏函数’my-dir’, 由编译系统提供,用于返回当前路径(即包含Android.mk file文件的目录)

3.2 include $( CLEAR_VARS)

宏CLEAR_VARS 由编译系统提供,指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量(例如 LOCAL_MODULE, LOCAL_SRC_FILES,LOCAL_STATIC_LIBRARIES, 等等...),除LOCAL_PATH 。这是必要的,因为所有的编译控制文件都在同一个GNU MAKE执行环境中,所有的变量都是全局的。

3.3 LOCAL_SRC_FILES

本次需要编译的源文件

3.4 LOCAL_SHARED_LIBRARIES

本次编译需要链接的动态链接库文件,即.so文件

3.5 LOCAL_STATIC_LIBRARIES

静态链接库.

3.6 LOCAL_C_INCLUDES

本次编译需要包含的头文件,一个相对于当前目录可选的路径名单,当编译所有的源文件(C,C++和汇编)时,它将被添加进include搜索路径。例如:

LOCAL_C_INCLUDES := sources/foo

或者甚至:

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../foo

3.6 LOCAL_LDLIBS

本次编译的链接选项,相当于gcc -l后的参数

3.7 LOCAL_CFLAGS

同样是编译选项,相当于gcc -O后面的参数

3.8 LOCAL_MODULE

生成的模块名,这个变量必须定义,表示make后将要生成的文件的名字

3.9 LOCAL_PACKAGE_NAME

apk文件名

3.10 LOCAL_MODULE_TAGS :=user eng tests optional

user: 指该模块只在user版本下才编译

eng: 指该模块只在eng版本下才编译

tests: 指该模块只在tests版本下才编译

optional:指该模块在所有版本下都编译

4 include

include可Android多以这样的形式出现,如:include $( CLEAR_VARS),include $(BUILD_SHARED_LIBRARY).其实这个include可以理解成"执行"的意思,那么执行什么呢?当然是看后边的宏了.

宏CLEAR_VARS已经在3.2节中介绍过了,表示清除一些变量.

宏BUILD_SHARED_LIBRARY表示生成共享库,即生成.so文件

因此include $(BUILD_SHARED_LIBRARY)就是指定在/system/lib/目录下生成一个lib$(LOCAL_MOUDULE).so文件,同样类型的宏如下:

•CLEAR_VARS 清除LOCAL_xxx变量

•BUILD_SHARED_LIBRARY 在/system/lib/目录下生成lib$(LOCAL_MOUDULE).so文件

BUILD_STATIC_LIBRARY 生成lib$(LOCAL_MOUDULE).a文件

•BUILD_EXECUTABLE 在/system/bin/目录下生成可执行文件

BUILD_PACKAGE 编译成一个apk文件

android.mk官网介绍,转载:Android.mk语法介绍相关推荐

  1. android dagger2官网,Dagger2在Android平台上的新魔法

    0. 前言 上一篇文章 Dagger2在Android平台上的新姿势,主要介绍了Dagger2在Android平台上的更加简洁,更加符合依赖注入思想的新用法.按照里面介绍的步骤,我们可以一步步的实现, ...

  2. 基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Medi

    基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构 ...

  3. android studio官网

     官网 http://www.android-studio.org/ android studio官网 http://segmentfault.com/blog/stormzhang

  4. 谷歌 android one,谷歌安卓官网重新设计:Android One消失

    IT之家讯 7月1日消息,今天谷歌将Android N正式命名为"Nougat"(牛轧糖),随后,还将Android.com官网进行了重新设计,新官网界面将安卓设备分为五大类,包括 ...

  5. 【官网原文】Android 7.0 行为变更

    Android 7.0(官网原文地址) 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更. 如果您之前发布过 Androi ...

  6. Mac使用sdkmanager从官网下载新版android SDK

    网上的SDK都是旧版本,我们需要android11的SDK,且不想下载Android Studio时,可以参考如下内容: 文章目录 1. 下载sdkmanager 2. 构造sdk运行路径 3. 下载 ...

  7. Android常用官网,开发者社区,论坛

    Google 官网 中国android官网 学习社区 Google 中国开发者 Google developers study jams China 中国GDG 开源 - Google open so ...

  8. android studio 官网下载+安装(win7)

    1. 下载: 官网地址:http://www.android-studio.org/ 点击下图链接,下载对应的软件包 2. 安装: 运行exe,点击"Next",如下图: 点击&q ...

  9. Google官网,Google android的产品线(important)

    > Google官网,google网站重回中国(2016.12) https://developers.google.cn/ ; https://firebase.google.cn/   ; ...

  10. android sdk 官网说明,神目人脸识别Android SDK Demo说明

    Demo使用说明 SDK Demo主界面如图1-1所示,主要功能有:1:1,1:N,人脸库管理,设置选项四大功能.具体说明如下: (1)1:1,即图片1与图片2进行人脸比对,得出两者的相似度分数.界面 ...

最新文章

  1. 【springmvc+mybatis项目实战】杰信商贸-16.新增从表货物信息
  2. 区块链是什么?白话解读入门必须了解的概念
  3. yml配置文件中有特殊字符解决方案
  4. LeetCode 1245. 树的直径(图的最大直径结论)
  5. 一级计算机B理论知识和答案,计算机一级B基础知识选择题答案.doc
  6. Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫...
  7. 把执行结果转成json对象报错_给Hangfire的webjob增加callback和动态判断返回结果功能设计...
  8. neovim--ubuntu安装
  9. 电子海图信息系统 (ECDIS)的发展及应用
  10. 美赛2018b题O奖论文学习(一)
  11. 微信小程序:收款码三合一制作微信小程序源码下载多模板选择
  12. elasticsearch 文档增删改
  13. 添加打印机计算机无法访问,Win7系统添加打印机提示Windows无法打开“添加打印机”的解决方法...
  14. 前端面试必备知识点总结(持续更新)
  15. python forward函数_Python——函数
  16. windows文件名太长无法删除的解决办法
  17. python的江湖世界
  18. 认证学习4 - Bearer认证(Token认证)讲解、代码实现、演示
  19. (WSL) Linux显示自己的系统logo ---- screenfetch
  20. 深度特征融合---高低层(多尺度)特征融合

热门文章

  1. 【Spring】Bean instantiation via constructor failed nested exception Constructor threw exception
  2. 【java】java 使用 jmap 工具 DebuggerException
  3. 【clickhouse】BAT 都在追捧的 ClickHouse ,到底有多快 笔记
  4. 【Clickhouse】Clickhouse Live View
  5. 【SpringBoot】Spring boot 多数据源 no transaction is in progress EntityManager flush
  6. 【Kafka】kafka 根据 ConsumerOffsetChecker获取group当前消费情况
  7. Spark 2.1.0集成CarbonData 1.1.0
  8. 95-190-044-源码-window-window三要素
  9. android Mediaplayer各种属性和方法简单介绍
  10. shiro mysql_Shiro系列之Shiro+Mysql实现用户认证(Authentication)