Android.mk 解析

 1 #源文件路径,call my-dir调用my-dir宏,返回Android.mk的路径
 2 LOCAL_PATH := $(call my-dir)
 3
 4 #生成so
 5 include $(CLEAR_VARS)
 6 LOCAL_MODULE    := First
 7 LOCAL_SRC_FILES := firstjni.cpp
 8 include $(BUILD_SHARED_LIBRARY)
 9
10 #使用第三方so
11 include $(CLEAR_VARS)
12 LOCAL_SRC_FILES := prebuilt/libBaiduMapSDK_v3_2_0_15.so
13 LOCAL_MODULE    := BaiduMapSDK_v3_2_0_15
14 include $(PREBUILT_SHARED_LIBRARY)
15
16 #生成可执行文件
17 #CLEAR_VARS让编译系统清除掉一些已经定义过的宏,这些宏的定义是全局的,
18 #当一个GNU MAKE在编译多个模块时,必须清除并重新摄者它们。
19 include $(CLEAR_VARS)
20 #LOCAL_ARM_MODE指定生成的原生程序所使用的ARM指令模式。
21 #arm表示使用32位的arm指令系统。
22 LOCAL_ARM_MODE  := arm
23 #LOCAL_MODULE指定模块的名称,即原生程序生成后的文件名。
24 #这里最终将生成名为hello的文件,如果是共享库,将生成libhello.so
25 LOCAL_MODULE    := hello
26 #指定C或C++源文件列表
27 LOCAL_SRC_FILES := hello.c
28 #指定生成的文件类型。
29 #BUILD_EXECUTABLE表示生成可执行文件,
30 #BUILD_SHARED表示生成动态库,
31 #BUILD_LIBRARY表示生成静态库
32 include $(BUILD_EXECUTABLE)

注:若使用第三方so文件,第三方so应该放在Android.mk文件所在目录的prebuilt子目录下

附:快速拷贝版

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE    := First
LOCAL_SRC_FILES := firstjni.cpp
include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_SRC_FILES := prebuilt/libBaiduMapSDK_v3_2_0_15.so
LOCAL_MODULE    := BaiduMapSDK_v3_2_0_15
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_ARM_MODE  := arm
LOCAL_MODULE    := hello
LOCAL_SRC_FILES := hello.c
include $(BUILD_EXECUTABLE)
时间: 2024-11-07 05:51:25

Android.mk 解析的相关文章

Android.mk解析

Android.mk文件用来向编译系统描述如何编译你的源代码.在编译整个工程的情况下,系统所找到的所有的Android.mk将会先存入subdir_makefiles变量中,随后一次性一次性include进整个编译文件中. (1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件. 由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式: LOCAL_PATH:=$(call my-dir) 上面的语句的意思是将LOCAL_PATH变量定义

Android.mk的用法和基础

一个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++静态库,并打包成.a文件  5)C\C

android.mk android源码编译

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简介

转载:http://blog.csdn.net/sanchuyayun/article/details/8242901 Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译. 因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的.因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义. 一个Android.mk文件可以编译多个模块,每个模块属下列类型之一: 1)APK程序 一般的An

Android.mk文件简单分析

Android.mk文件简单分析 一个Android.mk文件用来向编译系统描述需要编译的源代码.具体来说:该文件是GNUMakefile的一小部分,会被编译系统解析一次或多次.可以在每一个Android.mk中定义一个或多个模块,也可以在几个模块中使用同一个源代码文件. 每个模块属下列类型之一: 1)APK程序,一般的Android程序,编译打包生成apk文件 2)JAVA库,java类库,编译打包生成jar文件 3)  C\C++应用程序,可执行的C\C++应用程序 4)C\C++静态库,编

Android.mk文件语法规范及使用模板

Android.mk文件语法规范 根据eoeandroid上的的连载,进行一些更新.修改和加亮. 今天翻译ANDROID-MK.TXT文件(英文原文件在/development/Ndk/Docs/android-mk.txt) Android.mk文件语法规范 Introduction: Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 这篇文档描述了它的语法.在阅读下面的内容之前,假定你已经阅读了docs/OVERVIEW.TXT文件,了解了它们的脚色

android.mk知识点笔记(转)

Android.mk详解 想请教下Android.mk中一些属性.方法.定义,总之就想详细了解下Android.mk文件, 我先抛砖引玉. LOCAL_PATH 必须位于Android.mk文件的最开始.它是用来定位源文件的位置,$(call my-dir)的作用就是返回当前目录的路径. Android.mk 定义 属性 方法 Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译. 因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而

Android.mk文件详解

Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译. 因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的.因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义. 一个Android.mk文件可以编译多个模块,每个模块属下列类型之一: 1)APK程序 一般的Android程序,编译打包生成apk文件 2)JAVA库 java类库,编译打包生成jar文件 3)C\C++应用程序 可

4.android.mk编写规范

Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名.引用的头文件目录.需要编译的.c/.cpp文件和.a静态库文件等.要掌握jni,就必须熟练掌握Android.mk的语法规范. 一.Android.mk文件的用途一个android子项目中会存在一个或多个Android.mk文件1.单一的Android.mk文件直接参考NDK的sample目录下的hello-jni项目,在这个项目中只有一个Android.mk文件2.多个Android.mk文件如果