Ubuntu下安装配置NDK、独立交叉编译工具编译C/C++程序

前端之家收集整理的这篇文章主要介绍了Ubuntu下安装配置NDK、独立交叉编译工具编译C/C++程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Android中IDE、ADT、SDK、JDK、NDK的解释@H_404_5@

1. IDE:Intelligent Development Environm的简称。即智能开发环境。是一种开发工具。常用的IDE有adt-bundles和Android studio。两个都需要配置jdk。@H_404_5@

2. ADT:Android Development tools的简称。即Android开发工具。ADT为Eclipse的插件。在Eclipse和SDK之间起了一个桥梁的作用。@H_404_5@

3. SDK:Soft Development Kit的简称。软件开发工具包。在Android中,它为开发者提供了库文件以及其它开发所用到的工具。@H_404_5@

4. JDK:Java的开发工具包。包括了Java运行环境、Java工具和Java基础类库。
@H_404_5@

5. NDK概念:
(1)NDK是一系列工具的集合。帮助开发者快速开发C/C++的动态库。
并能自动将so和Java应用一起打包成apk。这些工具对开发者的帮助是巨大的。
(2)NDK将是Android平台开发支持C开发的开端。
作用:
(1)代码的保护。由于Java层代码很容易被反编译,而C/C++库反编译难度很大。
(2)可以方便的使用现存的开源库。大部分现存的开源库都是用C/C++代码编写的。
(3)提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。
(4)便于移植。用C/C++写的库可以方便的在其他的嵌入式平台上再次使用。@H_404_5@

在ubuntu下安装配置android ndk@H_404_5@

@H_404_5@

1.下载android-ndk64-r10b-Linux-x86_64.tar.bz2,下载地址:http://dl.google.com/android/ndk/android-ndk64-r10b-linux-x86_64.tar.bz2@H_404_5@

2. 把下载好的android-ndk64-r10b版本解压($ sudo tar -C /home/davebobo -xvf android-ndk64-r10b-linux-x86_64.tar.bz2)到/home/davebobo目录下(注:把你的ndk文件放到你的主页Home下,davebobo这个文件夹是我的,我的ubuntu计算机名为davebobo,即/home/davebobo这个目录也就是/主文件夹/公共的可视化桌面gui,这个目录可以随意换)。@H_404_5@

3.配置环境变量命令:$sudo gedit ~/.bashrc@H_404_5@

添加以下代码:@H_404_5@

export NDK=/home/davebobo/android-ndk-r10b
@H_404_5@

export PATH=${PATH}:$NDK 保存关闭
@H_404_5@

5.source ~/.bashrc使其修改文件生效。
@H_404_5@

6.ndk-build看看咱们配置环境变量成功没,只要没出command not found就证明环境变量配置成功,如果成功显示如下,@H_404_5@

但是由于Android系统使用的不是glibc而是Bionic libc。因此只能使用静态编译程序。@H_404_5@

其实Android的NDK自带了toolchain,但是不能直接使用NDK目录内的toolchain,否则会出现找不到crtbegin_dynamic.o文件@H_404_5@

即使用-L指定目录或者直接放到gcc命令行也还是提示文件找不到。
@H_404_5@

其实Android NDK提供了脚本来剥离出单独的toolchain,脚本的名字叫make-standalone-toolchain.sh@H_404_5@

1. 下载Android NDK@H_404_5@

@H_404_5@

2. 解压NDK至指定目录下@H_404_5@

cd到android-ndk-r10b@H_404_5@

build/tools/make-standalone-toolchain.sh --platform=android-L@H_404_5@

默认便在[/tmp/ndk-NAME]目录下生成工具链@H_404_5@

@H_404_5@

1
2
3
4
5
6
7
Auto-config: --toolchain=arm-linux-androideabi-4.6
Copying prebuilt binaries...
Copying sysroot headers and libraries...
Copying libstdc++ headers and libraries...
Creating package file: /tmp/ndk-juguofeng/arm-linux-androideabi-4.6.tar.bz2
Cleaning up...
Done.


@H_404_5@

若想生成4.9的工具链,可以这样指定@H_404_5@

build/tools/make-standalone-toolchain.sh --platform=android-L--toolchain=arm-linux-androideabi-4.9
@H_404_5@


@H_404_5@ 3. 最终得到的是一个压缩包/tmp/ndk-NAME/arm-linux-androideabi-4.9.tar.bz2

tar -jxvf arm-linux-androideabi-4.9.tar.bz2 @H_404_5@

猜你在找的Ubuntu相关文章