Android NDK C++开发注意事项总结

转载 2013年12月05日 09:54:49

Android NDK C++开发注意事项总结

   相信Android开发者都喜欢用C++编写一些高效的应用,有关Android NDK的C++开发相关知识总结如下: 

    从Android NDK r5开始支持了STL Port,在这个版本开始就可以使用部分STL库的功能了,比如说vector、string摆脱c下面容易出现的数组未初始化、越界,增强应用的健壮性。

    很多网友包含了include <vector> 这样头,但仍然无法编译,这里你首先要检查当前文件是否为.cpp后缀,同时为了使用标准库必须加入 APP_STL := stlport_static 在Application.mk文件中。相关对应还有
system - 使用默认最小的C++运行库,这样生成的应用体积小,内存占用小,但部分功能将无法支持
stlport_static - 使用STLport作为静态库,这项是Android开发网极力推荐的
stlport_shared - STLport 作为动态库,这个可能产生兼容性和部分低版本的Android固件,目前不推荐使用。
gnustl_static  - 使用 GNU libstdc++ 作为静态库
默认情况下STLPORT是不支持C++异常处理和RTTI,所以不要出现 -fexceptions 或 -frtti ,如果真的需要可以使用gnustl_static来支持标准C++的特性,但生成的文件体积会偏大,运行效率会低一些。

    支持C++异常处理,在Application.mk中加入 LOCAL_CPPFLAGS += -fexceptions这句,同理支持RTTI,则加入LOCAL_CPPFLAGS += -frtti,这里Android123再次提醒大家,第二条说的使用gnustl静态库,而不是stlport。

    强制重新编译 STLPort ,在Application.mk中加入 STLPORT_FORCE_REBUILD := true 可以强制重新编译STLPort源码,由于一些原因可能自己需要修改下STLPort库,一般普通的开发者无需使用此项。

    Android目前最新的NDK版本为r6,相关的学习可以查看NDK中的Samples整体和在PC上开发没有太大的不同。

相关文章推荐

Android NDK C++ stl 开发注意事项总结

转自:http://www.open-open.com/bbs/view/1319209398468 转自:http://blog.chinaunix.net/uid-24178755-id-605...
  • hjwang1
  • hjwang1
  • 2015年03月20日 17:52
  • 652

Android NDK C++开发注意事项总结

相信Android开发者都喜欢用C++编写一些高效的应用,有关Android NDK的C++开发相关知识总结如下:   1. 从Android NDK r5开始支持了STL Port,在这个版本开始就...

android NDK总结及注意事项(android ndk+jni初步)

最近几天看了有关android NDK方面的开发博客,相对此对一下总结: 实验平台: 操作系统:win7 开发环境:Eclipse+ADT+AVD+JDK1.6+Cygwin+android N...

virtualbox ubuntu虚拟机安装配置android开发环境(eclipse+ndk+sdk)及注意事项

原先整了一个ubuntu虚拟机环境,现在发现有个严重问题:虚拟硬盘创建的太大了(30G),不好拷贝。故决定重新整一个环境出来。顺便回忆一下当初环境是怎么搞的。 一) windows主...

NDK开发注意事项

1、配置安装环境时安装intelhaxm时,需要先进bios开启虚拟化

安卓NDK开发之开发环境搭建以及使用的注意事项

前言:在AS之前我们使用Eclipse开发,稍有麻烦,今天我们就使用谷歌推荐的AS下的默认开发方式--Cmake开发方式,废话少说直接开始!...

Android NDK纯C++开发(1)

要开发纯C++的android程序,有两种方法:native_activity.h和android_native_app_glue.h。当然本质上是一样的,android_native_app_glu...
  • seucbh
  • seucbh
  • 2013年12月15日 11:30
  • 960

Android NDK开发中java数据类型与C/C++数据类型的对应关系

转自:http://blog.csdn.net/z13144099248m/article/details/41675007 在java中有两种数据类型: 1、引用数据类型:字符串类,数组类以及...
  • hjwang1
  • hjwang1
  • 2017年11月08日 10:12
  • 239

成功实现C/C++调用Java (Android NDK 开发)--参考1

成功实现C/C++调用Java (Android NDK 开发)  2011-05-30 00:50:09|  分类: iPad iMac 开发 |字号 订阅用C/C++调用Java在 java 里面...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android NDK C++开发注意事项总结
举报原因:
原因补充:

(最多只允许输入30个字)