2011-8-13 16:32:05
我们继续:
NDK提供的变量:
在您的Android.mk文件被解析之前这些GNU Make变量由编译系统定义,注意,在某些情况下,NDK可能被解析几次,每次以不同的变量的定义解析的
CLEAR_VARS
CLEAR_VARS这个变量由系统提供,功能是清理掉所有以LOCAL_开头的内容,再开始一个新的模块之前,你必须包括这段脚本
include ($CLEAR_VARS)
BUILD_SHARED_LIBRARY
在编译脚本中收集所有以LOCAL_开头的信息并且决定从列出的源代码中编译一个目标共享库。注意,你必须定义了LOCAL_MODULE和LOCAL_SRC_FILES变量,使用它的时候,可以这样定义
include $(BUILD_SHARED_LIBRARY)
注意,我们会生成一个以lib<module_name>.so为名的文件
BUILD_STATIC_LIBRARY
用来构建一个静态库,该静态库将不会被拷贝到你的project/packages下,但是可以被用于动态库
(看下面的LOCAL_STATIC_LIBRARY和LOCAL_WHOLE_STATIC_LIBRARY介绍)
例如:
include $(BUILD_STATIC_LIBRARY)
注意,这将生成一个lib<module_name>.a为名字的模块
PREBUILD_SHARED_LIBRARY
在编译脚本中用于指定一个预先编译的动态库,不像BUILD_SHARED_LIBRARY和BUILD_STATIC_LIBRARY,LOCAL_SRC_FILES的预先共享库必须是一个单独的路径(如:foo/libfoo.so),
而不是源文件。
指定预先编译的动态库
你可以在另一个模块中引用预编译的库(参见docs/pribuilds.html)
PRIBUILD_STATIC_LIBRARY
这个变量类似于PREBUILD_SHARED_LIBRARY,但是是针对静态库的,(详见docs/prebuilds.html)
指定一个预先编译的静态库