Linux系统Android(安卓)NDK编译环境搭建
目的
为了把在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编译环境完成。
更多相关文章
- Ionic Tabs
- Android(安卓)实现微信,QQ文件在其他应用打开并获取到路径
- IT蓝豹强烈推荐:符合1-2年工作经验,开发中的难点及相关优化:
- 用cmake生成ios framework库
- Android(安卓)studio 下的robotium自动化测试和持续集成
- Android(安卓)Studio(二):基本配置
- mac下编译ffmpeg1.1.4
- Android(安卓)logback代码配置详解
- /mnt/sdcard与Environment.getExternalStorageDirectory()的使用