转载地址:
http://blog.csdn.net/dui_cky/article/details/6684993
一、简介
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。
1、LOCAL_PATH := $(call my-dir)
一个Android.mk file首先必须定义好LOCAL_PATH变量。它用于在开发树中查找源文件。
2、include $( CLEAR_VARS)
CLEAR_VARS 由编译系统提供,指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量,
这是必要的,因为所有的编译控制文件都在同一个GNU MAKE执行环境中,所有的变量都是全局的。
3、
分享到:
相关推荐
本篇文章将详细介绍如何进行`androidmk`到`Android.bp`的转换,并探讨两者之间的差异以及转换工具的使用方法。 一、`Android.mk`与`Android.bp`概述 1. `Android.mk`:这是Android早期使用的构建系统,基于GNU ...
尽管如此,Android.mk仍然是很多现有项目的基础,并且在特定场景下更灵活。理解Android.mk的语法规范对维护老项目或理解Android系统构建过程至关重要。 总结,Android.mk文件是Android系统构建过程中的核心配置文件...
在Android开发中,`Android.mk`是一个非常重要的文件,主要用于定义模块的构建规则。它基于GNU Make工具,是Android NDK(Native Development Kit)的一部分,用于编译C/C++源代码。通过`Android.mk`,开发者可以...
除了以上基础配置外,`Android.mk`还支持更多高级特性,包括但不限于: 1. **定义多个module**:可以在同一个`Android.mk`文件中定义多个module,只需要重复上述步骤即可。 2. **使用相同的资源文件**:可以在不同...
在描述中提到的“最简单的android.mk例子,直接下下来NDK就可以”,这意味着我们有一个基础的`android.mk`示例,无需复杂的配置,只需具备NDK环境即可运行。通常,一个简单的`android.mk`文件会包含以下几个主要部分...
- **GNUMakefile**:`Android.mk` 实质上是 GNUMakefile 的一部分,这意味着它可以被编译系统解析多次。因此,在编写时需要考虑变量的作用范围和定义时机。 - **模块**:模块可以是静态库、共享库等形式,其中只有...
`Android.mk`文件是Android构建系统中的一个关键部分,它是一个Makefile,用于指导构建过程。本篇将深入探讨`Android.mk`的写法及其在Android编译系统中的作用。 1. **LOCAL_PATH变量**: 在`Android.mk`文件中,`...
然而,Android编译系统相对集中,位于Android源码的build/core目录下,包含了大量的makefile(*.mk)文件和shell脚本。Google为了满足多目标(MultipleTargets)、非递归构建(Non-RecursiveMake)、快速编译测试...
"Android.mk"是Android Native Development Kit (NDK) 中的一部分,用于定义Android应用程序或库的编译规则和依赖项,这表明memtester可能已经被配置为可以在Android环境下编译和运行。 **标签解析:** - "memtest...
- **SHELL设置**:main.mk的第一行会根据`ANDROID_BUILD_TOP`环境变量来确定Shell环境。这一步非常重要,因为不同的Shell环境可能会导致不同的行为,特别是对于一些依赖于特定Shell特性或语法的命令。 - **编译...
Android_mk测试包,提供:可执行程序,共享库,静态库的基本写法.方便作为调试沟通的基础包
动态加载通常使用`System.loadLibrary()`方法,而静态加载则是在Android.mk或CMakeLists.txt文件中指定。 BinderDemo-master.zip则可能是一个关于Android Binder机制的示例项目。Binder是Android系统中进程间通信...
1. **Android NDK基础知识**:NDK是Google提供的一个工具集,允许开发者在Android应用中使用C和C++代码。它可以提高性能,特别是对于计算密集型或图形密集型的应用。NDK提供了交叉编译环境,使得开发者可以在本地...
开发者需要理解Android的HAL机制,熟悉C++和Java混合编程,以及Android的编译系统如Android.mk和Android.bp。 5. **移植RTOS**:移植RTOS涉及目标平台的硬件适配、中断系统、内存管理等,需要对目标平台的CPU架构和...
1. **Android平台构成**:Android的基础是Linux内核,它包含了中间件层,如SQLite数据库系统,以及一系列关键应用程序,如电话、短信、地图和浏览器。此外,Android提供了一个Java框架,允许开发者使用Java语言进行...
5. **Android.mk** 或 **build.gradle(app)**:如果是旧版的NDK项目,可能会包含Android.mk文件用于原生代码的编译;对于使用Gradle构建的项目,会有另一个app模块的build.gradle文件。 通过分析这个项目,开发者...
`Android.mk`文件是Android编译系统中的核心组成部分,用于描述单个模块或者一组模块的编译规则。下面详细介绍`Android.mk`文件的基本结构及其如何与编译系统交互。 1. **初始化设置**:通常`Android.mk`文件的开头...
这份文档"Android SDK编译,带自己api的android.jar编译.pdf"详细介绍了如何在Android源码的基础上编译带有自己API的android.jar。以下是整个过程的详细步骤: 1. **添加自定义源代码**: - 在Android源码树的`...
《Packt.Android.NDK.Beginner's.Guide.2012》是一本针对初学者的Android NDK实战指南。NDK(Native Development Kit)是Google为Android开发者提供的一套工具集,它允许开发者使用C/C++语言进行原生代码开发,以...
为了解决跨进程通信(IPC,Inter-Process Communication)的问题,Android引入了Binder机制,并在此基础上发展出了Android Interface Definition Language(AIDL)。AIDL允许开发者定义接口,使得一个应用可以暴露...