微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

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

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++写的库可以方便的在其他的嵌入式平台上再次使用。

在ubuntu下安装配置android ndk

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

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,这个目录可以随意换)。

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

添加以下代码

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

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

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

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

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

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

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

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


1. 下载Android NDK

2. 解压NDK至指定目录下

cd到android-ndk-r10b

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

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

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.


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

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


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

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

原文地址:https://www.jb51.cc/ubuntu/353878.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐