目的

为了把在Windows或者Linux开发的C/C++代码运行在Android平台,Google提供了NDK编译工具链。本文档旨在说明在一台Linux系统中搭建Android NDK编译环境的过程。

平台

平台系统:Ubuntu 16 x64
NDK版本:android-ndk-r14b
JDK版本:jdk1.8.0_144

安装

开始之前,必须先有一个稳定的Linux系统,这里使用了Ubuntu 16 x64版本的系统,您可以在Ubuntu官网或者各种开源社区获取到系统镜像,并且很容易的将其安装在一台电脑或者虚拟机上。

1、安装和配置JDK
Andorid NDK必须基于JDK,所以接下来需要部署JDK,首先从Oracle官网下载JDK,这里选择了1.8的版本。

然后将JDK安装包解压到/user目录下,并配置JDK的环境变量:
配置完成后在命令行执行:# java -version
显示如下的信息,表示JDK安装和配置成功。

2、安装和配置Android NDK
Google官网提供了Android NDK的下载地址,目前最新稳定版本是r20。
在“NDK归档页面”可以下载历史版本的NDK,这里选择了r14版本:

然后将NDK安装包解压到/usr目录下,并配置NDK环境变量:
配置完成后在命令行执行:# ndk-build -v
显示如下信息,表示NDK安装和配置完成。
NOTE:
1、配置的环境变量可能需要重启系统才能生效
2、必须选择最稳定支持NDK版本的JDK版本,否则NDK不可用

测试

上一节中Android NDK编译环境已经在Linux系统中完成了配置,本节将会使用一个实例验证NDK环境是否可用。

测试开始时,在Linux系统中创建一个test目录作为测试实例工程的源码目录和编译目录。

以简单的add函数为例:
add.h

#ifndef __ADD_H__#define __ADD_H__ #ifdef __cplusplusextern "C" {#endifint add(int a, int b);#ifdef __cplusplus}#endif#endif 

add.c

#include #include "add.h"int add(int a, int b){     return a+b;} 

在test目录下创建jni目录,将add.h和add.c文件拷贝到jni目录下,并在jni目录下创建Android.mk文件。
编辑Android.mk文件:

LOCAL_PATH := $(call my-dir)LOCAL_LDFLAGS += -fPICinclude $(CLEAR_VARS)LOCAL_C_INCLUDES += $(LOCAL_PATH)/LOCAL_MODULE := libaddLOCAL_SRC_FILES := ./add.cLOCAL_LDLIBS := -lloginclude $(BUILD_SHARED_LIBRARY)

在test目录下执行如下命令:# ndk-build
编译信息:

编译完成后在test目录下将生成libs目录和obj目录:
在libs目录下就是编译生成的供给各个平台使用的目标文件:
至此,在Linux系统中搭建的Android NDK编译环境完成。

更多相关文章

  1. Ionic Tabs
  2. Android(安卓)实现微信,QQ文件在其他应用打开并获取到路径
  3. IT蓝豹强烈推荐:符合1-2年工作经验,开发中的难点及相关优化:
  4. 用cmake生成ios framework库
  5. Android(安卓)studio 下的robotium自动化测试和持续集成
  6. Android(安卓)Studio(二):基本配置
  7. mac下编译ffmpeg1.1.4
  8. Android(安卓)logback代码配置详解
  9. /mnt/sdcard与Environment.getExternalStorageDirectory()的使用

随机推荐

  1. Android扫描条形码实现
  2. Android开机LOG
  3. Seekbar thumb滑动时上下显示不全,或者左
  4. Android(安卓)实现TextView中文字链接的
  5. Android(安卓)之 SystemService
  6. Day3.4--Android简单UI控件之ImageView以
  7. Android:Activity(五):Activity加载模式
  8. Android(安卓)实现TextView中 文字链接的
  9. 好用的Android库
  10. 【转】 Android开发手记一 NDK编程实例