首页 > 代码库 > Android - JNI添加标准C++文件
Android - JNI添加标准C++文件
JNI添加标准C++文件
本文地址: http://blog.csdn.net/caroline_wendy
其余参考: http://blog.csdn.net/caroline_wendy/article/details/39032551
如果需要调用标准C++库, 则需要在jni文件夹下, 添加Application.mk方法.
在其中声明使用C++的标准模板库(STL): APP_STL := gnustl_static
APP_STL := gnustl_static APP_CPPFLAGS := -frtti -fexceptions #APP_ABI := armeabi-v7a
然后创建添加C++源文件和头文件, 在Android.mk中声明.
头文件是文件夹路径(同目录可以省略), 源文件是cpp文件地址, 注意是"+=", 表明是继续添加
#LOCAL_C_INCLUDES += ./ LOCAL_SRC_FILES += ./sayname.cpp
Android.mk具体文件:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := HelloMyJni LOCAL_SRC_FILES := HelloMyJni.cpp #LOCAL_C_INCLUDES += ./ LOCAL_SRC_FILES += ./sayname.cpp include $(BUILD_SHARED_LIBRARY)
头文件和源文件内容:
/* * sayname.h * * Created on: 2014年9月4日 * Author: Administrator */ #ifndef SAYNAME_H_ #define SAYNAME_H_ #include <string> using namespace std; string sayname(void); #endif /* SAYNAME_H_ */ /* * sayname.cpp * * Created on: 2014年9月4日 * Author: Administrator */ #include "sayname.h" string sayname(void) { string str = "Hello Spike and Caroline and Wendy!!!"; return str; }
接口文件就可以调用, 这些标准C++文件了.
具体调用方法:
#include <jni.h> #include "com_example_hellomyjni_JniClient.h" #include "sayname.h" JNIEXPORT jstring JNICALL Java_com_example_hellomyjni_JniClient_sayName (JNIEnv *env, jclass) { string str = sayname(); return env->NewStringUTF(str.c_str()); }
Android - JNI添加标准C++文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。