目录

  • 概念
  • 参数用法

概念

Android.mk 的语法支持将源文件分组为模块。模块是静态库、共享库或独立的可执行文件。您可在每个 Android.mk 文件中定义一个或多个模块,也可在多个模块中使用同一个源文件。编译系统只将共享库放入您的应用软件包。此外,静态库可生成共享库。

参数用法

LOCAL_PATH
Android.mk 文件必须先定义 LOCAL_PATH 变量:

LOCAL_PATH := $(call my-dir)

变量表示源文件的位置,my-dir为编译系统提供的宏函数,返回当前my-dir所在文件目录

CLER_VARS

include $(CLEAR_VARS)

CLEAR_VARS 变量指向一个特殊的 GNU Makefile,后者会清除许多 LOCAL_XXX 变量,例如 LOCAL_MODULE、LOCAL_SRC_FILES 和 LOCAL_STATIC_LIBRARIES。GNU Makefile 不会清除 LOCAL_PATH

LOCAL_MODULE

LOCAL_MODULE := hello-LSC

LOCAL_MODULE 变量存储您要编译的模块的名称。请在应用的每个模块中使用一次此变量

LOCAL_SRC_FILES

LOCAL_SRC_FILES := hello-lsc.c

列举源文件,以空格分隔多个文件:

BUILD_SHARED_LIBRARY

include $(BUILD_SHARED_LIBRARY)

帮助系统将所有内容连接到一起;BUILD_SHARED_LIBRARY 变量指向一个 GNU Makefile 脚本,该脚本会收集您自最近 include 以来在 LOCAL_XXX 变量中定义的所有信息。此脚本确定要编译的内容以及编译方式。共享库变量会导致编译系统生成扩展名为 .so 的库文件。

BUILD_STATIC_LIBRARY
用于编译静态库的 BUILD_SHARED_LIBRARY 的变体。编译系统不会将静态库复制到您的项目/软件包中,但可以使用静态库编译共享库.静态库变量会导致编译系统生成扩展名为 .a 的库。

include $(BUILD_STATIC_LIBRARY)

LOCAL_CFLAGS
LOCAL_CFLAGS += -DXXX ,相当于在所有源文件中增加一个宏定义#define XXX
例如:

LOCAL_CFLAGS += -DENABLE_LSC

在编译的c、c++文件中可使用

#ifdef ENABLE_LSC
....
#endif

Andriod.mk用法相关推荐

  1. Android.mk 用法介绍

    一个Android.mk file用来向编译系统描述你的源代码.具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次.你可以在每一个Android.mk file中定义一个 ...

  2. Application.mk用法详解

    Application.mk文件定义要编译的多个变量的GNU Makefile片段,位于PROJECT/jni/目录下,PROJECT/jni/目录下,PROJECT/jni/目录下,PROJECT是 ...

  3. Android.mk用法详解

    Android.mk是Android提供的一个makefile文件,可以将源文件分组为模块.用来引用的头文件目录.需要编译的*.c/.cpp文件.jni源文件.指定编译生成.so共享库文件或者*.a静 ...

  4. android.mk 比较字变量,Android.mk的用法和基础

    一个Android.mk file用来向编译系统描述你的源代码.具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次.你可以在每一个Android.mk file中定义一个 ...

  5. 【Android.mk】android编译系统makefile文件Android.mk的写法

    (1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件.由于一般情况下 Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式: LOCAL_PATH:=$ ...

  6. Android.mk介绍

    1.简介 1.Android.mk是一个向Android NDK构建系统描述NDK项目的GNU makefile片段.主要用来编译生成一下几种:1.APK程序:一般的Android应用程序,系统级别的 ...

  7. 自制工具:Cocos2d-x Android.mk文件自动修改器

    做cocos2d-x的项目,一般是用电脑进行开发,然后移植到手机平台上.移植到安卓手机需要用eclipse等工具重新编译打包成apk文件.而用eclipse打包的话,要把项目的cpp文件一条条加入到A ...

  8. cocos2d-x中的Jni使用(C++与Andriod方法互调)

    作者:何卫 转载请注明,原文链接:http://www.cnblogs.com/hewei2012/p/3376616.html 前提条件: 1.操作的游戏工程和cocos2d_x游戏引擎是一个目录的 ...

  9. 在andriod中加入充电指示

    在andriod中加入充电指示 作者:帅文 基于Andriod系统的平台在没有硬件充电指示的情况下只有进入andriod系统才能进行充电指示,而我们有时候仅仅需要充电而不需要进入系统,本文介绍了实现这 ...

  10. Android.mk基础知识

    一.基础知识 1.Android.mk文件可以将源码打包成模块,模块可以是apk,jar包,c/c++应用程序,静态库和动态库.动态库可以被以到应用程序包apk,静态库可以被连接入动态库. 2.And ...

最新文章

  1. android文件存储token,ANDROID 学习笔记(二) 用户登陆问题 TOKEN SESSION 缓存
  2. Android应用开发的一些规则
  3. 【webpack 中版本兼容性问题错误总结,耽误半天学习】
  4. linux 多窗口 同一用户,Linux 用命令把同一个用户加入多个组
  5. [蓝桥杯][算法提高VIP]贪吃的大嘴(多重背包)
  6. xcode中用pods管理第三方库转
  7. 添加编译宏_软件开发——编译链接
  8. mysql3.2.2 .tar.gz_关于MySQL-python-1.2.3.tar.gz安装失败的解决方案
  9. tomcat原理及作用,MySQL数据中有很多换行符和回车符
  10. Linux C编程之七(2) 系统IO函数
  11. 计算机论文中期报告进展情况,自动化毕业论文中期报告进展情况怎么写
  12. Tera Term简单配置
  13. 看风水不如依照这些定律改造命运
  14. 【个人亲历】上海市人才引进落户最详细的流程记录说明
  15. OSPF的知识点总结及其扩展
  16. VMware安装及配置静态Ip、域名、免密(centos7)
  17. 帮我写一个X波段小型化带通滤波器开题报告
  18. 国家自然基金的latex模版
  19. “基尔霍夫电流定律”电子教案
  20. 性能测试报告编写技巧

热门文章

  1. 内容创业洗稿,知识付费拆书
  2. 2的20次方怎么用计算机计算,2的20次方(2的20次方简便方法)
  3. android studio白屏,首次集成到Android studio的工程运行起来就是白屏
  4. Emacs指北(做一个搬运工好累)
  5. 计算机第三套演示文稿yswg.pptx,打开考生文件夹下的演示文稿yswg.pptx,根据考生文件夹下的文件“PPT-素材.docx”,按照下列要求完善 - 赏学吧...
  6. mac风扇控制_如何监视和控制Mac的风扇
  7. 关于受理南山区2022年度“领航人才” 租房补贴申请的通告
  8. 关于ARM的22个常用概念--的确经典
  9. 输入框限制规则 只能输入数字 只能输入字母数字 等等
  10. 特斯拉新汽车工厂拟落户美国德州,生产电动皮卡