深入了解android NDK
2.1 Android 提供的组件:
ARM,x86和MIPS交驻编译器
构建系统
Java原生接口头文件
C库
Math库
POSIX线程
最小的c++库
ZLIB压缩库
动态链接库
Android日志库
Android像素缓冲库
Android 原生应用apis
OpenGL ES 3D 图形库
openSL ES 原生音频库
openMAX AL最小支持
2.2 android NDK的目录结构
名称 |
介绍 |
Ndk-build |
Shell角本,构建系统的起始点 |
Ndk-gdb |
Shell角本,GNU调试器原生组件 |
Ndk-stack |
Shell角本,用于分析原生组件崩溃时的堆栈追踪 |
build |
目录,包含了构建系统的所有模块 |
platforms |
目录,支持不同android目标版本的头文件和库文件 |
simple |
示例应用 |
source |
可导入的共享模块 |
toolchains |
不同版本的交叉编译器 |
2.3 简单的示例程序
配置eclipse,windows-àpreference-àandroid-àNDK,指定ndk的目录
导入ndk自带示例程序
向项目中添加原生支持右击项目àandroidTools-àadd Native Support,指定共享库名
运行项目
可以在控制台看到构建信息
13:08:35 **** Incremental Build ofconfiguration Default for project HelloJni ****
"D:\\tools\\android-ndk-r9b\\ndk-build.cmd"all
[armeabi] Gdbserver : [arm-linux-androideabi-4.6]libs/armeabi/gdbserver
[armeabi] Gdbsetup : libs/armeabi/gdb.setup
[armeabi] Install : libhello-jni.so =>libs/armeabi/libhello-jni.so
13:08:36 Build Finished (took 388ms)
用命令行对项目进行构建
A 构建原生组件
D:\workspace4>cdhello-jni
D:\workspace4\hello-jni>ls
AndroidManifest.xml default.properties jni res src tests
D:\workspace4\hello-jni>ndk-build
[armeabi] Gdbserver :[arm-linux-androideabi-4.6] libs/armeab