Android NDK 用C语言好还是C++好?

Python010

Android NDK 用C语言好还是C++好?,第1张

C++好,对于NDK来说,C++比C语言在与JAVA的回调机制上更加很好的配合,目前来说,大部分比较高级的程序都是利用C++来写的,既能具备JAVA的方便又能具备C语言的执行效率高,用C++好一些

Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。

众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。

NDK包括了:

从C / C++生成原生代码库所需要的工具和build files。

将一致的原生库嵌入可以在Android设备上部署的应用程序包文件(application packages files ,即.apk文件)中。

支持所有未来Android平台的一些列原生系统头文件和库

为何要用到NDK?

概括来说主要分为以下几种情况:

1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。

2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。

3. 便于移植,用C/C++写的库可以方便在其他的嵌入式平台上再次使用。

先将要编译的源代码文件移动到一个目录下面,写好makefile文件,一般是已经写好的(没有的话就要自己写了),然后配置好ndk环境变量,在/etc/profile目录下添加export NDK_ROOT=/你的nkd路径,然后保存,重启机器,最后就是cd到你要编译的源码目录下,调用ndk_build就行了