• android ndk开发之 application.mk


      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变量类似, 这个变量让编译系统在高的源文件中用更短的命令。

     

  • 相关阅读:
    Linux 信号:signal 与 sigaction
    Linux shell(1)
    【Beta阶段】第一次scrum meeting
    【Beta阶段】计划安排
    团队作业7——Alpha冲刺之事后诸葛亮
    团队作业5——测试与发布(Alpha版本)
    【Alpha阶段汇总】成果展示与体验总结
    【Alpha阶段】第七次scrum meeting
    【Alpha阶段】第六次scrum meeting
    【Alpha阶段】第五次scrum meeting
  • 原文地址:https://www.cnblogs.com/zhangyan-2015/p/5673870.html
Copyright © 2020-2023  润新知