Android提供了NDK工具,用来编译native代码(c/c++),该工具配置好了相关的交叉编译环境和工具链,只需要你简单地编写几个.mk文件即可将你的c/c++代码编译为Android的java工程/Android手机可以识别、加载和运行的库或者应用程序。

默认情况下,使用NDK编译c/c++代码,需要将该代码放置到任一个Android应用工程的jni目录下,然后编写相应的Android.mk文件,并执行ndk-build命令完成编译。其实你也是可以在任意目录下去编译native代码的,只需要在ndk-build命令后面添加相应的命令行参数即可,这里给出一些常用的ndk-build命令行参数,方便大家灵活地使用NDK编译自己的native代码,具体的示例我将会在后续的文章中给出。

1. ndk-build NDK_LOG=1

用于配置LOG级别,打印ndk编译时的详细输出信息

2. ndk-build NDK_PROJECT_PATH=.

指定NDK编译的代码路径为当前目录,如果不配置,则必须把工程代码放到Android工程的jni目录下

3. ndk-build APP_BUILD_SCRIPT=./Android.mk

指定NDK编译使用的Android.mk文件

4. ndk-build NDK_APP_APPLICATION_MK=./Application.mk

指定NDK编译使用的application.mk文件

5. ndk-build clean

清除所有编译出来的临时文件和目标文件

6. ndk-build -B

强制重新编译已经编译完成的代码

7. ndk-build NDK_DEBUG=1

执行 debug build

8. ndk-build NDK_DEBUG=0

执行 release build

9. ndk-build NDK_OUT=./mydir

指定编译生成的文件的存放位置

10. ndk-build -C /opt/myTest/

到指定目录编译native代码

Android开发实践:常用NDK命令行参数相关推荐

  1. android并发命令,Android开发实践:基于命令模式的异步任务线程

    关于Android的异步操作,我在文章<Android开发实践:线程与异步任务>中介绍了两种方法,一种是采用线程,另一种是采用AsyncTask,今天再深入探讨下另一种模型:命令式的异步任 ...

  2. gcc 编译器常用的命令行参数一览

    这些常用的 gcc/g++ 命令行参数,你都知道么? 1. gcc -E source_file.c -E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_file.c  -S ...

  3. 【嵌入式开发】C语言 命令行参数 函数指针 gdb调试

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshul ...

  4. argparse模块_Argparse:一个具体案例教会你python命令行参数解析

    问题描述: 现有一个用于数据格式转换的py脚本(多转一),执行时通过命令行传入一系列的参数控制其具体运行方式,使满足以下要求: 1. 必须传入需要处理的原始数据文件名 2. 可以指定输入文件的格式,若 ...

  5. Alian解读SpringBoot 2.6.0 源码(三):启动流程分析之命令行参数解析

    目录 一.背景 1.1.run方法整体流程 1.2.本文解读范围 二.默认应用参数解析 2.1.接口ApplicationArguments 2.2.实现类DefaultApplicationArgu ...

  6. 002 第一季SpringBoot2核心技术-核心功能:配置文件、Web开发(原生组件)、数据访问、单元测试、指标监控、原理解析:@Value、命令行参数、手动获取bean、自定义starter

    三.核心技术之- ->核心功能 1. 配置文件 1.1 文件类型 1.1.1 properties 同以前的properties用法 优先级高于yml的方式. 1.1.2 yaml 1) 简介 ...

  7. 常用的stsadm命令行参数

    常用的stsadm命令行参数有: 1.installfeature.uninstallfeature: feature部署和卸载: 安装feature:stsadm -o installfeature ...

  8. Android配置模拟器参数,夜神模拟器支持命令行参数列表

    Nox目前支持的命令行参数(支持3.0版本模拟器以及更高版本模拟器) Nox.exe -clone:                                                   ...

  9. java交叉编译安卓可用,Android开发实践:Android交叉编译工具链的使用

    前面2篇文章分别介绍了Android NDK编译的命令行参数,以及如何在任意目录使用Android.mk来编译本地c/c++代码,Andriod.mk和ndk-build只不过是Android官方提供 ...

最新文章

  1. python b站 关注_[我叫以赏]Python获取B站UP主粉丝数
  2. mysql5.7 too many_Mysql 错误too many connections解决方案
  3. [00028]-[2015-09-23]-[00]-[VC 关于Excel操作的测试]
  4. lighttpd+fastcgi 返回500错误码_阿根廷著名电视减肥冠军去世 临终前体重达到500公斤...
  5. python中list的反转_Python实现list反转实例汇总
  6. 程序员讨论技术问题时说话都很直接,哪个国家都不例外
  7. PyQt5入门——QListWidget实现图片缩略图列表
  8. javascript实现blob流、base64,file、base64的互相转换
  9. java版Spring Cloud+VR全景+直播短视频带货+三级分销+b2b2c多商家入驻前后端分离商城源码
  10. java常用省份合集
  11. MFC 进行界面设计与编程
  12. win7系统关闭445端口
  13. 使用DDE传输数据至SQL Server
  14. Hexo Next 5.x 升级 6.x
  15. 【PAT】 1020 发邮件(错排问题)详解
  16. Anaconda中pkgs文件夹详解
  17. 知乎高赞:35岁的程序员,最后都去了哪儿?是在路边摊炒粉和做烤鸭?
  18. 操作系统概论【引入操作系统中的基本概念和操作】
  19. 车载T-BOX中MCU和SoC通信方案(SPI通信方式)
  20. webrtc 入门第一章 基本设备操作

热门文章

  1. [CareerCup] 4.7 Lowest Common Ancestor of a Binary Search Tree 二叉树的最小共同父节点
  2. Hadoop MapReduce概念学习系列之MPI和MapReduce(十三)
  3. Java Map 怎样实现Key 的唯一性?
  4. [译]不要在UI主线程中进行耗时的操作
  5. PHP--字符串处理函数
  6. uva 11174(排列组合+搜索)
  7. Liferay中使用portlet:resourceURL触发serveResource()方法调用的细节
  8. IBM DS300 安装
  9. shell获取/etc/passwd中的用户名和id
  10. mysql update实质,UPDATE注射(mysql+php)的两个模式