C++编写JNI注意事项
1.环境变量JNIEvn *envd调用,使用env->,c语言为(*env)->,C++函数也比c语言函数少一个参数,具体请参照jni.h头文件。
2.标准模板块STL使用
目前我在项目中有使用STL库,在Application.mk文件中可以指定库名称:
APP_STL := gnustl_static
在开发过程中按照STANDALONE-TOOLCHAIN文档中,使用libstdc++.a库一直不能使用,暂时不知道原因。
3.链接库时,注意库的依赖顺序
在Android.mk文件中,链接其他库文件时需要将被依赖库文件添加在依赖库文件之后。
例如Http库依赖Zip库,写法如下:
LOCAL_LDLIBS += -lHttp
LOCAL_LDLIBS += -lZip
4.使用jstring变量后释放内存