Ubuntu16.04下安装Android机顶盒(Android4.4.2)NDK交叉编译环境

Ubuntu16.04下安装Android机顶盒(Android4.4.2)NDK交叉编译环境


文章目录

      • Ubuntu16.04下安装Android机顶盒(Android4.4.2)NDK交叉编译环境
      • 一、前言
      • 二、ndk下载
      • 三、ndk安装
      • 四、配置环境变量
      • 五、测试使用

一、前言

Android NDK 是一个工具集,可让您使用 C 和 C++ 等语言以原生代码实现应用的各个部分。对于特定类型的应用,这可以帮助您重复使用以这些语言编写的代码库。

关于ndk更多的内容可以在这里了解:
https://developer.android.google.cn/ndk

我这里主要是为了编译在Android机顶盒上跑的so库来做准备的。

宿主机:Ubuntu16.04 64位
目标机:Android4.4.2电视机顶盒

二、ndk下载

https://developer.android.google.cn/ndk/downloads

在这里下载最新版以及旧版本,也可以找开发板提供商要适合其版本的kit。

比如我这里有个r10版本的ndk:

链接:https://pan.baidu.com/s/1hlAwmfWuyZNIjQxCN6dF5A
提取码:kzig

三、ndk安装

下载下来后直接解压到某个位置即可,我这里以我的r10为例,安装到/opt/android目录下。

sudo -s
mkdir /opt/android
cp ~/share/android-ndk-r10.tar.gz /opt/android/
cd /opt/android
tar zxvf android-ndk-r10.tar.gz

四、配置环境变量

我这里修改了两个位置:
/etc/profile和~/.bashrc

注意:理论上修改/etc/profile即可,但是我修改完后当前用户未生效而仅仅root用户生效了,所以我又修改了~/.bashrc。

vi /etc/profile
或
vi ~/.bashrc

在末尾添加

#set NDK env
export NDKROOT=/opt/android/android-ndk-r10
export PATH=$NDKROOT:$PATH

之后

source /etc/profile

使得环境变量生效即可。

对于.bashrc该脚本则是针对当前用户的,所以不能在root用户下执行,需要在你当前用户下执行:

source ~/.bashrc

使得环境变量生效后再运行ndk-就可以补全了。

对于指定交叉编译工具链的位置暂时我们不添加到环境变量中,你也可以根据自己的需要添加对应的环境变量指定你需要的交叉编译工具链的位置。

五、测试使用

使用

ndk-

后tab补全来确认,结果如下:

zy@zy-virtual-machine:~$ ndk-
ndk-build       ndk-gdb         ndk-gdb-py.cmd  
ndk-build.cmd   ndk-gdb-py      ndk-stack       
ndk-depends     ndk-gdb.py      ndk-which

这说明安装成功并且环境变量起效了,通过$PATH可以找到对应的可执行程序。
那么添加交叉编译工具链的位置的环境变量同样能够生效。

其实不指定环境变量直接使用绝对路径获取交叉编译工具链也是可以的,但是这样写编译脚本时就相对麻烦一些,比如在cmake中指定c交叉编译器就要写:

set(CMAKE_C_COMPILER /usr/local/android-ndk-r10/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc)

这样太长了,而且换台设备工具链位置换了的话通用性就显得稍微差一些。

你可能感兴趣的:(android开发)