Android.mk 是google根据Linux GNU Makefile精简编译脚本。具体来说:这就是GNU Makefile的一小部分。

举一个简单例子:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE:= helloworld
LOCAL_SRC_FILES := helloworld.c
include $(BUILD_SHARED_LIBRARY)
第一句:LOCAL_PATH := $(call my-dir) 是告诉编译器,编译路径,就是当前路径。一个Android.mk必须首先定义LOCAL_PATH变量。一个菜鸟:= 是赋值,$ 取变量值
第二句:include $( CLEAR_VARS)
清理之前变量等,CLEAR_VARS 变量由系统指定。指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量(例如 LOCAL_MODULE, LOCAL_SRC_FILES, LOCAL_STATIC_LIBRARIES, 等等...),除LOCAL_PATH 。这是必要的,因为所有的编译控制文件都在同一个GNU MAKE执行环境中,所有的变量都是全局的。
第三句:LOCAL_MODULE := helloworld
指定输出文件名,这也是必须指定的,LOCAL_MODULE 是必须指定的,编译后生成文件名称
第四句:LOCAL_SRC_FILES := helloworld.c
指定编译文件,也是必须要指定的。
第五句:include $(BUILD_SHARED_LIBRARY)
指定生成库类型:BUILD_SHARED_LIBRARY 动态库 BUILD_STATIC_LIBRARY 静态库

Android 的NDK的Makefile编写相关推荐

  1. Android下NDK开发环境搭建

    Android下NDK开发环境搭建 1.     AndroidNDK安装与配置 1.1  NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP部 ...

  2. Android之NDK开发

    一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语 ...

  3. Android之NDK开发学习总结

    Android之NDK开发 http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.html 一.NDK产生的背景 Android平台 ...

  4. android 使用NDK

    转自:http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html 为何要用到NDK? 概括来说主要分为以下几种情况: 1. 代码 ...

  5. android.mk ndk编译选项优化,Android NDK 编译脚本分析 之一

    版权信息:本文为本人原创,欢迎转载,但请著明出处,并保留本版权信息. Android NDK编译脚本编写起来还是是比较简单条理的,然而它的语法和传统的linux GNU Make编译脚本的编写似乎有很 ...

  6. Android Studio NDK 开发

    1.SDK Tools下载DNK,如果已经有下载有DNK的开发工具的话,可以直接导入 当然,AS后面推荐使用CMake方式开发NDK,这个后面再说,这里还是先讲ndk+javah+Android.mk ...

  7. JNI编程基础(二)——Android Studio NDK开发

    由于笔者目前的工作是Android开发,所以在JNI开发系列博客中穿插一篇AndroidStudio NDK开发介绍. 随着Android Studio 2.2的推出,Android Studio的N ...

  8. swift android界面,使用 Swift 语言编写 Android 应用入门

    原标题:使用 Swift 语言编写 Android 应用入门 Swift标准库可以编译安卓armv7的内核,这使得可以在安卓移动设备上执行Swift语句代码.本文解释了如何在你的安卓手机上运行一个简单 ...

  9. Android Studio NDK环境配置及JNI使用方法

    1.前言 什么是NDK? NDK全称是Native Development Kit,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.N ...

最新文章

  1. Boost:boost :: bind相等运算符的测试程序
  2. 1014. Best Sightseeing Pair
  3. 简析TCP的三次握手与四次分手
  4. 如果用户的计算机在查询本地Net,网络操作系统管理2448-2
  5. 选了combobox里的选项后没激发change事件_stata 事件分析法
  6. OSError: [Errno 1] Operation not permitted 问题解决
  7. android十进制转十六进制算法,十进制转十六进制 代码
  8. java中什么是数组_JAVA中关于数组的定义
  9. Ssm角色权限后台管理实战开发
  10. SpringBoot使用GZIP压缩返回数据
  11. ASP.NET Web API 跨域访问(CORS)要注意的地方
  12. 手机号码编码规则是什么?
  13. STM32的PC13、PC14、PC15用作普通IO口设置方法
  14. Windows系统为指定用户设定本地组策略
  15. 发一些乙醇原创的资料
  16. Springboot 注解最全详解
  17. Titan XP值不值?教你如何挑选深度学习GPU
  18. 如何给图片添加黑色边框
  19. 戴维宁(也叫戴维南)定理是什么?如何证明?_戴维宁定理等效电路求解_戴维宁定理习题
  20. [Go]获取当前时间戳秒/毫秒/纳秒 转成字符串string

热门文章

  1. JPA不同包下同类名查询出错
  2. IDEA中maven的命令及作用
  3. pip 无法卸载 pillow 解决方案 Not uninstalling pillow at /usr/lib/python3/dist-packages
  4. linux配置java环境变量(详细)
  5. PyTorch官方中文文档:torch.optim 优化器参数
  6. Error: Module build failed: TypeError: this.getResolve is not a function at Object.loader
  7. LeetCode简单题之柠檬水找零
  8. LeetCode简单题之Excel表列名称
  9. 深度学习编译器Data Flow和Control Flow
  10. RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比