这个版本的NDK包括了很多新的API,可以用于开发更多的游戏或相似的应用程序。通过这些API,开发人员可以直接访问Events,audio,graphics,windows,assets和storage,也可以利用新的NativeActivity类用本地代码来实现Android应用程序。更多的详细信息可以参考NDK中包含的CHANGES.HTML文档。
更新包括:
- 增加本地activities的支持,以用于使用本地代码实现Android应用
对以下特性增加本地代码支持:
- 输入部分(例如键盘或触摸屏)
- 传感器数据访问(加速度传感器,方向传感器,陀螺仪等)
- 用于等待输入和传感器events的事件循环
- 窗口和surface子系统
- 基于OpenSL ES标准的音频API,支持平台音效的录音和回放控制
- 访问.apk文件中的资源
- 包含了更利于代码生成的新的工具链(基于GCC 4.4.3),可以作为通过./configure和make方式生成代码的开发人员的标准交叉编译工具,在docs/STANDALONE-TOOLCHAIN.html文件中可以找到详细说明。GCC 4.4.0仍然存在,但4.2.1已经被移除。
- 增加了预编译静态库和共享库(见docs/PREBUILTS.html文档)的支持,以及模块导入导出的支持,更易于共享和重用第三方的模块。
- 作为辅助模块提供了默认的C++ STL的实现(基于STLport),可以被用于静态库或共享库(详细的使用示例参见sources/android/stlport/README),如果想要代替默认的C++ STL实现,可以编译STLport(静态库或共享库)和GNU libstdc++(只能是静态库)。C++异常和RTTI在默认的STL实现中还没被支持,更多信息可参见docs/CPLUSPLUS-SUPPORT.HTML文件。
- 包含了改进的cpufeatures辅助库以用于提供准确的CPU类型(很多使用ARMv6的设备以前被报成了ARMv7 CPU),提醒开发保山,使用这个库需要重新编译应用程序然后上传到应用商店。
- 增加了EGL库用于创建和管理OpenGL ES纹理和服务
- 增加了新的示例程序native-plasma和native-activity用来演示如何编写本地的activity。
- 包含了很多Bug修复和小的提升,更多变更可参见docs/CHANGES.html文档
本文转载自文斌的专栏
【编辑推荐】