Android.mk参数解释】的更多相关文章

-------------------- 下面对Android.mk 中经常出现的变量进行讲解 -------------------- 这些变量,你会经常在Android.mk文件中见到,下面以字表表的顺序列出来,并进行一一讲解其作用. LOCAL_- 这个变量会在每个模块(module,也可以解释为程序). 当出现 include $(CLEAR_VARS)变量的时候,它们当初设置的变量,会清空.在你使用的大部分变量中,它存在于模块中的定义都会像 LOCAL_variables(variab…
概述     Android.mk文件用来向编译系统描写叙述怎样编译你的源码.更确切地说,该文件事实上就是一个小型的Makefile.由于该文件会被NDK的编译工具解析多次,因此应该尽量降低源码中声明变量,由于这些变量可能会被多次定义从而影响到后面的解析.这个文件的语法同意把源码组织成模块.每一个模块属于下列类型之中的一个: APK程序:一般的Android程序.编译打包生成apk文件. JAVA库:java类库.编译打包生成jar包文件. C\C++应用程序:可运行的C/C++应用程序. C\…
本页介绍了 ndk-build 所使用的 Android.mk 编译文件的语法. 概览 Android.mk 文件位于项目 jni/ 目录的子目录中,用于向编译系统描述源文件和共享库.它实际上是编译系统解析一次或多次的微小 GNU makefile 片段.Android.mk 文件用于定义 Application.mk.编译系统和环境变量所未定义的项目范围设置.它还可替换特定模块的项目范围设置. Android.mk 的语法支持将源文件分组为模块.模块是静态库.共享库或独立的可执行文件.您可在每…
如果是在android源码里面编译我们自己的应用,就需要这个android.mk文件,这个文件就告诉android系统应用如何来编译这个应用以及这个应用它所依赖哪些文件等等信息.我对android.mk的了解也不是很多,我把我们平时经常需要的东西说一下,顺便也是帮助自一个己作一下笔记. 其实我们用得最多就是编译库文件(.so文件),jar包,apk应用以及bin文件等等,下来看看下面的代码 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LO…
Android NDK开发指南---Android.mk文件 博客分类: Android NDK开发指南   Android.mk文件语法详述 介绍: ------------ 这篇文档是用来描述你的C或C++源文件中Android.mk编译文件的语法的,为了理解她们我们需要您先看完 docs/OVERVIEW.html(http://hualang.iteye.com/blog/1135105)文件来了解它的作用 概览: ------------ Android.mk文件是用来描述build…
原文网址:http://blog.csdn.net/smfwuxiao/article/details/8530742 1.Android.mk文件概述 Android.mk文件用来告诉NDK编译系统,应该如何编译这些源码.更确切地说,该文件其实就是一个小型的Makefile.该文件会被NDK的编译工具解析多次,所以要注意不要过多使用环境变量,以免第一次解析时产生的变量影响后面的解析.Android.mk把源码组织成不同的模块,每个模块可以是一个静态库也可以是一个动态库.动态库才会被拷贝到安装包…
https://android.googlesource.com/platform/development/+/donut-release/ndk/docs/OVERVIEW.TXT https://android.googlesource.com/platform/ndk/+/4e159d95ebf23b5f72bb707b0cb1518ef96b3d03/docs/ANDROID-MK.TXT https://android.googlesource.com/platform/ndk/+/4…
http://www.cnblogs.com/chenbin7/archive/2013/01/05/2846863.html Android.mk简单分析 2013-01-05 22:51 by ...平..淡..., 884 阅读, 0 评论, 收藏, 编辑 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-fil…
Android.mk文件语法详述 介绍:------------这篇文档是用来描述你的C或C++源文件中Android.mk编译文件的语法的,为了理解她们我们需要您先看完docs/OVERVIEW.html(http://hualang.iteye.com/blog/1135105)文件来了解它的作用 概览:------------Android.mk文件是用来描述build system(编译系统)的,更准确的说:--该文件是一个微型的GNU Makefile片段,将由build system…
     在我写这篇文章的时候,Android Studio已经是2.3版本了,已经集成CMake 编译工具, 用户只需在 新建项目的时候,添加选项(Include C++ support),Android Studio就会自动 帮你部署好相应的NDK环境.但我还是想尝试使用 Android.mk 配置文件方式来实现NDK开发, 了解其配置的原理,然后再使用 CMake 来部署,这样能了解两者间的区别.后续的文章就会写 到用CMake来部署NDK环境.        假设你已经安装好了 Andr…
     在我写这篇文章的时候,Android Studio已经是2.3版本了,已经集成CMake 编译工具, 用户只需在 新建项目的时候,添加选项(Include C++ support),Android Studio就会自动 帮你部署好相应的NDK环境.但我还是想尝试使用 Android.mk 配置文件方式来实现NDK开发, 了解其配置的原理,然后再使用 CMake 来部署,这样能了解两者间的区别.后续的文章就会写 到用CMake来部署NDK环境.        假设你已经安装好了 Andr…
[Android-NDK(Native Development Kit)  docs文档] NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.   Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译. 因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的.因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义. 一个A…
一个Android.mk file用来向编译系统描述你的源代码.具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次.你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件.编译系统为你处理许多细节问题.例如,你不需要在你的Android.mk中列出头文件和依赖文件.NDK编译系统将会为你自动处理这些问题.这也意味着,在升级NDK后,你应该得到新的toolchain/platform支持,而且不需要改变你的Andro…
在Boardconfig.mk 中添加一个 IS_FLAG := true 由于Boardconfig.mk和各目录的Android.mk是相互关联的 所以我们可以在Android.mk 中添加 一个 ifdef IS_FLAG LOCAL_CFLAGS += -DHHHH endif 在Android.mk中添加的这行相当于在 该目录下的文件中定义了一个宏 #define HHHH 如果我们想要在某个工程中根据工程的不同来对相关的代码中的某段参数进行选择时,可以参考此方法…
android ndk开发有一个重要的文件 Android.mk,他虽然重要,但是对它进行深入介绍的文档却比较的少,这里将对Android.mk中常用的宏和变量进行说明: 由于这一部分的内容多,资料零散,本文档会进行持续性的更新: 方便他人亦是方便自己,如果觉得还行就下右边的投票吧,这样可以帮助其他人更快的找到解决问题的方法:有疑问的也可留言哦, 谢谢! 工具/原料 Win7 x64 jdk1.8.0_11 adt-bundle-windows-x86_64-20140702 android-n…
序言:------------- 此文档旨在描述Android.mk文件的语法,Android.mk文件为Android NDK(原生开发)描述了你C/C++源文件.为了明白下面的内容,你必须已经阅读了docs/OVERVIEW.TXT的内容,它解释了Android.mk文件扮演的角色和用途. 概述:--------- 写一个Android.mk文件是为了向生成系统描述你的源代码.更明确的说: - 这个文件实际上是GNU Make文件的一小片段,它会被生成系统解析一次或多次.因此,你应该在And…
Introduction: Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 这篇文档描述了它的语法.在阅读下面的内容之前,假定你已经阅读了docs/OVERVIEW.TXT文件,了解了它们的脚色和用途. 概述: 一个Android.mk file用来向编译系统描述你的源代码.具体来说:-该文件是GNU Makefile的一小部分,会被编译系统解析一次或更多次的build系统.因此,您应尽量减少您声明的变量,不要认为某些变量在解析过程中不会被定义.-这个…
Android.mk详解 1. Android.mk 的应用范围 Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译. 一个Android.mk文件可以编译多个模块,每个模块属下列类型之一: 1)APK程序 一般的Android程序,编译打包生成apk文件 2)JAVA库 java类库,编译打包生成jar文件 3)C\C++应用程序 可执行的C\C++应用程序 4)C\C++静态库 编译生成C\C++静态库,并打包成.a文件 5)C\C++共享库 编…
Android.mk脚本结构 下面是main.mk文件包含关系,本文档主要说明的就是这些文件里到底做了什么.(这个文件被根目录下的makefile文件包含) 一.     main.mk 1.检查版本号,设置环境变量(BUILD_SYSTEM)和缺省的目标.$(MAKE_VERSION) >= 3.81,BUILD_SYSTEM= build/core 2.包含文件BUILD_SYSTEM/config.mk.根据配置信息和主机目标机信息,设置一些变量. 3.包含文件BUILD_SYSTEM/c…
LOCAL_PATH:=$(call my-dir) LOCAL_PATH是定义源文件在哪个目录用的. my-dir 是个定义的宏方法, $(call my-dir)就是调用这个叫 my-dir的宏方法,这个方法返回值就是 Android.mk文件所在的目录 include $(CLEAR_VARS) CLEAR_BARS 变量是build system里面的一个变量 这个变量指向了所有的类似 LOCAL_XXX的变量, 执行完这一句话, 这个编译系统就把 所有的类似 LOCAL_MODULE,…
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := live555 MY_SRC_PATH := $(LOCAL_PATH)/ MY_All_Files := $(shell find $(MY_SRC_PATH)/.) MY_All_Files := $(MY_All_Files:$(MY_SRC_PATH)/./%=$(MY_SRC_PATH)%) MY_C_CPP_LIST := $(filter %.cpp…
(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件.由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径. (2)Android.mk中可以定义多个编译模块,每个编译模块都是以include $(CLEAR_VARS)开始以include $(BUILD_XXX)结束.include $(CLEAR_VARS)C…
一个Android.mk file用来向编译系统描述你的源代码.具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次.你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件.每个模块属下列类型之一:  1)APK程序,一般的Android程序,编译打包生成apk文件  2)JAVA库,java类库,编译打包生成jar文件  3)  C\C++应用程序,可执行的C\C++应用程序  4)C\C++静态库,编译生成C\C…
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := Settings LOCAL_CERTIFICATE := platform include $(BUILD_PACKAGE) # Use the folloing include to m…
源:Android.mk文件详解 从对Makefile一无所知开始,折腾了一个多星期,终于对Android.mk有了一个全面些的了解.了解了标准的Makefile后,发现Android.mk其实是把真正的Makefile包装起来,做成了一个对使用者来说很简单的东西.使用它来编译程序时,不管是动态库.可执行的二进制文件,还是Jar库.APK包,只要沿着一个简单的思路来做三大步就可以了:清除旧变量,设置新变量,调用编译函数. 明白了以后,发现Makefile语法不是问题,有很多教程和高手.编译模块时…
先贴一个样例,然后解释一下: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := mydjvuapi SRC_FILE_OF_MINE :=\ classify.cpp \ INCLUDES_FILE_OF_MINE:= \ 8 $(LOCAL_PATH)/../myjpeginterface\ 9 $(LOCAL_PATH)/../mytiffinterface10 STATIC_LIBRARIES_OF_MINE…
 1  案例场景,通过C语言回调Java的代码,案例的最终界面: 2  案例的代码结构如下: 3 编写DataProvider的代码: package com.example.ndkcallback; public class DataProvider { //C调用java空方法 public void helloFromJava(){ System.out.println("哈哈哈  我被调用了"); } //C调用java中的带两个int参数的方法 public int Ad…
一.Android.mk Android.mk分为一下几部分: LOCAL_PATH:= $(call my-dir), 返回当前文件在系统中的路径,Android.mk文件开始时必须定义该变量. include $(CLEAR_VARS), 表明清楚上一次构建过程中的所有全局变量,因为在一个Makefile编译脚本中,会使用到大量的全局变量,使用这行脚本表明需要清除所有的全局变量. LOCAL_SRC_FILES,要编译的C或者CPP的文件,注意这里不需要列举头文件,构建系统会自动帮助开发者依…
文章参照:http://blog.sina.com.cn/s/blog_67d8d7060100q8un.html Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译. 因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的.因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义. 一个Android.mk文件可以编译多个模块,每个模块属下列类型之一: 1)APK程序   一般的An…
编写模块的编译文件,实际就是定义一系列以“LOCAL_”开头的编译变量,因此我们有必要弄明白这些变量的具体含义.下面是一些经常使用的LOCAL_编译变量的说明: 变量名 说明 LOCAL_ASSET_FILES 编译APK文件时用于指定资源列表,通常写成 LOCAL_ASSET_FILES += $(call find-subdir-assets). LOCAL_CC 自定义C编译器来代替缺省的编译器. LOCAL_CXX 自定义C++编译器来代替缺省的编译器. LOCAL_CFLAGS 定义额…