android.mk官网介绍,转载:Android.mk语法介绍
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语法介绍相关推荐
- android dagger2官网,Dagger2在Android平台上的新魔法
0. 前言 上一篇文章 Dagger2在Android平台上的新姿势,主要介绍了Dagger2在Android平台上的更加简洁,更加符合依赖注入思想的新用法.按照里面介绍的步骤,我们可以一步步的实现, ...
- 基于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架构 ...
- android studio官网
官网 http://www.android-studio.org/ android studio官网 http://segmentfault.com/blog/stormzhang
- 谷歌 android one,谷歌安卓官网重新设计:Android One消失
IT之家讯 7月1日消息,今天谷歌将Android N正式命名为"Nougat"(牛轧糖),随后,还将Android.com官网进行了重新设计,新官网界面将安卓设备分为五大类,包括 ...
- 【官网原文】Android 7.0 行为变更
Android 7.0(官网原文地址) 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更.本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更. 如果您之前发布过 Androi ...
- Mac使用sdkmanager从官网下载新版android SDK
网上的SDK都是旧版本,我们需要android11的SDK,且不想下载Android Studio时,可以参考如下内容: 文章目录 1. 下载sdkmanager 2. 构造sdk运行路径 3. 下载 ...
- Android常用官网,开发者社区,论坛
Google 官网 中国android官网 学习社区 Google 中国开发者 Google developers study jams China 中国GDG 开源 - Google open so ...
- android studio 官网下载+安装(win7)
1. 下载: 官网地址:http://www.android-studio.org/ 点击下图链接,下载对应的软件包 2. 安装: 运行exe,点击"Next",如下图: 点击&q ...
- Google官网,Google android的产品线(important)
> Google官网,google网站重回中国(2016.12) https://developers.google.cn/ ; https://firebase.google.cn/ ; ...
- android sdk 官网说明,神目人脸识别Android SDK Demo说明
Demo使用说明 SDK Demo主界面如图1-1所示,主要功能有:1:1,1:N,人脸库管理,设置选项四大功能.具体说明如下: (1)1:1,即图片1与图片2进行人脸比对,得出两者的相似度分数.界面 ...
最新文章
- 【springmvc+mybatis项目实战】杰信商贸-16.新增从表货物信息
- 区块链是什么?白话解读入门必须了解的概念
- yml配置文件中有特殊字符解决方案
- LeetCode 1245. 树的直径(图的最大直径结论)
- 一级计算机B理论知识和答案,计算机一级B基础知识选择题答案.doc
- Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫...
- 把执行结果转成json对象报错_给Hangfire的webjob增加callback和动态判断返回结果功能设计...
- neovim--ubuntu安装
- 电子海图信息系统 (ECDIS)的发展及应用
- 美赛2018b题O奖论文学习(一)
- 微信小程序:收款码三合一制作微信小程序源码下载多模板选择
- elasticsearch 文档增删改
- 添加打印机计算机无法访问,Win7系统添加打印机提示Windows无法打开“添加打印机”的解决方法...
- 前端面试必备知识点总结(持续更新)
- python forward函数_Python——函数
- windows文件名太长无法删除的解决办法
- python的江湖世界
- 认证学习4 - Bearer认证(Token认证)讲解、代码实现、演示
- (WSL) Linux显示自己的系统logo ---- screenfetch
- 深度特征融合---高低层(多尺度)特征融合
热门文章
- 【Spring】Bean instantiation via constructor failed nested exception Constructor threw exception
- 【java】java 使用 jmap 工具 DebuggerException
- 【clickhouse】BAT 都在追捧的 ClickHouse ,到底有多快 笔记
- 【Clickhouse】Clickhouse Live View
- 【SpringBoot】Spring boot 多数据源 no transaction is in progress EntityManager flush
- 【Kafka】kafka 根据 ConsumerOffsetChecker获取group当前消费情况
- Spark 2.1.0集成CarbonData 1.1.0
- 95-190-044-源码-window-window三要素
- android Mediaplayer各种属性和方法简单介绍
- shiro mysql_Shiro系列之Shiro+Mysql实现用户认证(Authentication)