版本号 | Windows | Mac OSX | Linux |
---|---|---|---|
ndk-r10e | 32位 64位 | 64位 | 32位 64位 |
配置环境变量:
检测是否配置成功:在命令行中输入:ndk-build
看到以上信息说明配置成功。接下来配置Eclipse。点击help->install->already installed 查看是否已经安装如下插件:
如果已经安装了Android Native Devalopment Tools,就可以流畅的开发NDK啦,没有请安装,ADT里面就有的。 如下: 步骤1:
步骤2:(如果没有ADT包,下载地址—>
版本号 |
---|
ADT-23.0.7 |
ADT-23.0.6 |
ADT-23.0.4 |
ADT-23.0.3 |
ADT-23.0.2 |
ADT-23.0.0 |
ADT-22.6.3 |
AdT-22.6.1 |
在我们之前下载的ADT开发工具中,里面有个samples文件夹,里面有很多NDK开发的示例,我们导入一个最简单的示例hello-jni; 项目结构如下:
我们试着把C代码编译成SO文件。 首先进入项目所在目录,然后执行ndk-build命令,开始编译,过程比较慢;
刷新我们的项目,发现多了个obj文件夹:里面有生成的so文件。
在我们开发Android项目时通常只需要arm平台下的so文件。x86和mips平台很少用到,为了加快我们的编译速度。可以修改 项目中的make文件:用"#"把里面的代码注释掉。
在命令行中输入:ndk-build clean 命令,可以删除我们刚才生成的so文件,然后重新执行:ndk-build 命令,这次编译速度就很快了。因为只生成了arm平台下的so文件。
然后我们的项目就可以跑起来了。 =======================分割线================================= 我们创建一个自己的项目,试试Ndk!! 首先新建一个Android项目,在MainActivity中声明一个native方法
接下来根据java文件生成c的头文件,需要用到javah 命令;
我们执行如下命令对我们的java类生成头文件。首先进入项目所在目录,然后执行如下命令: avah -classpath bin/classes -d jni com.example.myfirstndk.MainActivity
按回车
报错,找不到Activity类,解决办法 ,我们去AndroidSDK目录下找到任意一个版本的android.jar文件。这个jar包中有它所需要的Activity类。
我们把这个目录加到classes后面(记得“;”隔开)。修改 完后的命令如下
回车执行。 刷新我们的项目发现多了个jni目录,里面还有个头文件。