2012/9/14
mk 文件
LOCAL_LDLIBS :=
连接到NDK现有的静态库,比如使用了C库函数需要 -lc,在 user/lib 目录下
----- 几点小技巧 ----
NDK 使用技巧
1.如何强制输出编译命令:
-------------------------------------------
使用命令 "ndk-build V=1"
2.如何强制重新编译所有源文件:
-------------------------------------------
Use GNU Make's "-B" option, as in:
ndk-build -B
3.如何将你的代码放在 $PROJECT/jni 以外的文件夹:
-------------------------------------------
第一, 你可以告诉 $PROJECT/jni/Android.mk 包含其他 Android.mk
第二, 定义 APP_BUILD_SCRIPT 在 Application.mk 文件
指向一个 Android.mk 文件位置.
4.不必使用 cd 命令进入工程根目录即可编译:
-------------------------------------------
使用命令 ndk-build -C <工程路径>
5.将你的 Application.mk 存放在 $PROJECT/jni 以外的地方:
---------------------------------------------------------
NDK r4以后支持使用命令
ndk-build NDK_APPLICATION_MK=/你/的/路/径/Application.mk
6.合理的添加头文件路径到你的模块声明
---------------------------------------------------------
当你定义了好几个模块时,编译某个模块经常需要包含另一个模块的头文件,如下面的例子:
$PROJECT/jni/foo/
Android.mk
foo.h
foo.c
$PROJECT/jni/bar/
Android.mk
bar.c
这bar.c包含了foo.h,你需要将foo的路径添加到 jni/bar/Android.mk
下面有一种方法:
LOCAL_C_INCLUDES := ../foo, 这样使得相对于当前路径
正确的方法是:
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../foo
推荐使用 $(LOCAL_PATH) 的相对路径