您的位置:首页 > 移动开发

android ndk开发之 application.mk

2016-07-15 15:53 246 查看
  Application.mk 这个文件是被Android ndk编译系统使用的, 和android.mk文件一样也是被放在jni目录下, Applicaiton.mk也是一个GNU makefile, 他描述的对象是当前应用程序定义的所有模块, 在里面也可以定义变量,定义的变量可以被所有模块使用。

  以下是Application.mk编译文件支持的一些内置变量:

APP_MODULES: 默认Android ndk编译系。统会编译所有在Android.mk文件里面定义的模块, 这个变量可以覆盖这个行为,提供一个需要编译的用空格隔开的模块列表

APP_OPTIM:这个变量可以用来改变产生的二进制优化等级, 设置release或者debug的优化, 默认这里是release 模式, 这个变量可以设置debug模式去产生未优化的二进制代码以方便调试

APP_CPPFLAGS:这个变量列表定义要传递到所有模块的c++源文件中的标志。

APP_CLAGS:这个变量列表定义要传递到所有模块的c或者c++源文件中的标准

APP_BUILD_SCRIPT:默认android ndk编译系统会在工程的jni子目录下查找 Android.mk文件, 使用这个变量可以改变这种方式, 这样就可以使用其他的编译文件了

APP_ABI:默认android ndk编译系统产生的二进制接口是armeabi ABI, 这个变量可以产生其他的不同的二进制接口的输出文件;

        比如:

            APP_ABI := mips

          当然可以设置更多的ABI(应用二进制接口)

            APP_ABI := armeabi mips

          如果想生成所有支持的ABIs:

            APP_ABI := all

APP_STL: 默认Android ndk编译系统使用 最低的STL运行库,也被称为系统库, 这个变量用来选择不同的STL 实现。  

        例如:APP_STL:= stlport_shared

APP_GNUSTL_FORCE_CPP_FEATURES: 和LOCAL_CPP_EXTENSIONS 变量类似, 这个变量指示所有模块依赖具体的c++功能,比如RTTI, 异常等。

APP_SHORT_COMMANDS:和LOCAL_SHORT_COMMANDS变量类似, 这个变量让编译系统在高的源文件中用更短的命令。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: