存放不同android版本,不同平台架构的头文件和库文件 |
存放和编译相关工具比如make.exe |
ndk代码例子,用根目录下的ndk-build即可编译 |
一些测试样例,有很多例子可以从里面学习 |
不同平台的编译器链接器目录以及一些和编译连接相关的工具,gcc,ld等工具都在这个目录 |
存放不同android版本,不同平台架构的头文件和库文件 |
存放和编译相关工具比如make.exe |
ndk代码例子,用根目录下的ndk-build即可编译 |
一些测试样例,有很多例子可以从里面学习 |
不同平台的编译器链接器目录以及一些和编译连接相关的工具,gcc,ld等工具都在这个目录 |
由于指令集等的不同在用NDK移植某些程序的时候,可能需要考虑程序移植结果的正确性就arm和x86对比而言,
主要需要考虑的是:内存中字节对齐的差异、浮点数操作的差异、向量化指令的差异(NEON和SSE等)等
当然,并不是所有的程序都会在这些方面影响程序的结果
从Android官方下载NDK工具然后在系统变量中记得添加NDK主目录,不然无法使用ndk-build命令编译应用
使用NDK手动编译生成.so文件:
1)新建应用名称,如hello
2)在hello文件夹下新建目錄jni
3)在jni目录下新建hello.c,内容如下:
保存好上面三个文件然后进入到hello文件夹下,执行命令:ndk-build
命令执行完会在hello文件夹下生成额外的两个文件夾:libs和obj,libs文件夹下的.so文件正是我们所需要的
linux下使用NDK的gcc命令环境变量配置: