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 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值