Android NDK编译笔记

Application.mk

APP_PROJECT_PATH 项目路径
APP_MODULES 编译模块列表
APP_OPTIM release/debug 不设则取决于manifest中的android:debuggable。 不建议设置。
APP_CFLAGS 传递给编译器的选项(C /C++),作用于所有模块
APP_CPPFLAGS

传递给编译器的选项(C++)

-fexceptions 来支持C++异常

-frtti 来支持RTTI

APP_BUILD_SCRIPT 除了jni/Android.mk外,使用的其他mk文件
APP_ABI

abi列表

例如:

APP_ABI := armeabi armeabi-v7a x86

APP_STL system/stlport_static/stlport_shared/gnustl_static,推荐stlport_shared,授权优势
STLPORT_FORCE_REBUILD true if 使用代码编译STLport而不是使用预编译
   

 

 

 

 

 

 

 

 

 

 

 

 

Android.mk (NDK r6)

LOCAL_PATH Android.mk的路径,可以设置为$(call my-dir)
LOCAL_MODULE 模块名称
LOCAL_MODULE_FILENAME 重新定义生成so的名称(可选)
LOCAL_SRC_FILES 模块要编译的文件列表
LOCAL_CPP_EXTENSION 重新定义c++原文件的扩展名
LOCAL_C_INCLUDES 追加到include搜索路径的路径列表
LOCAL_CFLAGS 只作用于当前模块
LOCAL_CPPFLAGS  
LOCAL_STATIC_LIBRARIES 模块链接的静态库列表
LOCAL_SHARED_LIBRARIES 模块运行时依赖的共享库列表
LOCAL_WHOLE_STATIC_LIBRARIES like LOCAL_STATIC_LIBRARIES,use --whole-archive
LOCAL_LDLIBS 其他链接选项代码清单,例如 -lGLESv2

LOCAL_EXPORT_CFLAGS

LOCAL_EXPORT_CPPFLAGS

LOCAL_EXPORT_C_INCLUDES

LOCAL_EXPORT_LDLIBS

导出变量到依赖此模块的上层模块(就是在上层模块的LOCAL_STATIC_LIBRARY or LOCAL_SHARED_LIBRARY里列出)
LOCAL_ARM_MODE "ARM" or "Thumb"
LOCAL_FILTER_ASM 允许执行shell命令以过滤汇编文件
   
   
   
   
   
posted @ 2013-07-05 15:20  林间走寸  阅读(571)  评论(0编辑  收藏  举报