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

     

  • 相关阅读:
    printFinal用法示例
    清瘦的记录者: 一个比dbutils更小巧、好用的的持久化工具
    requestAnimationFrame,Web中写动画的另一种选择
    深入理解定时器系列第二篇——被誉为神器的requestAnimationFrame
    Javascript 多线程?
    Expert 诊断优化系列------------------语句调优三板斧
    Appium+python自动化8-Appium Python API
    Selenium2+python自动化26-js处理内嵌div滚动条
    RobotFramework自动化4-批量操作案例
    RobotFramework自动化3-搜索案例
  • 原文地址:https://www.cnblogs.com/zhangyan-2015/p/5673870.html
Copyright © 2011-2022 走看看