LOCAL_PATH := $(call my-dir)
这条语句出现在Android.mk
最开始。由于我们将所有源码等文件都存在了当前目录或子目录,因此调用my-dir
这个函数来告知编译器所编译的模块在mk所在当前目录下。
LOCAL_MODULE
这个参数是模块的名称,要求全局唯一并且不能带空格。
可以简单试验一下,找到任意一个模块的目录,例如device/generic/goldfish
,这是虚拟机设备路径,新建一个文件夹mymodule
,将其他模块(如gps)的Android.mk
拷贝过来。
接下来在源码目录执行make
,由于我们没有修改Android.mk
文件的内容,导致出现了两个gps模块,因此编译报错:
including ./device/generic/goldfish/mymodule/Android.mk ...
build/core/base_rules.mk:157: *** device/generic/goldfish/mymodule: MODULE.TARGET.SHARED_LIBRARIES.gps.goldfish already defined by device/generic/goldfish/gps. Stop.
####