Android - JNI添加标准C++文件

来源:互联网 发布:windows 2008 编辑:程序博客网 时间:2024/06/07 04:10

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_staticAPP_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    := HelloMyJniLOCAL_SRC_FILES := HelloMyJni.cpp#LOCAL_C_INCLUDES += ./LOCAL_SRC_FILES += ./sayname.cppinclude $(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());}





5 1
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 美图m6突然黑屏怎么办 美图t8s死机了怎么办 美图手机音量小怎么办 美图手机突然音量小怎么办 苹果六手机反应慢怎么办 美图t8开机慢怎么办 美图m6s拍照模糊怎么办 8848m4密码忘了怎么办 美图手机m4自拍黑屏怎么办 美图m4相机黑屏怎么办 美图m4手机拍照黑屏怎么办 美图m4拍照黑屏怎么办 美图m4很卡怎么办 美图m8工厂模式怎么办 美图m6开不了机怎么办 美图m8开不开机怎么办 美图摄像头坏了怎么办 美图t8相机模糊怎么办 美图m4卡槽坏了怎么办 美图t8手机好卡怎么办 美图手机m6卡怎么办 美图t8屏幕不亮怎么办 美图m8卡机了怎么办 美图m6手机太卡怎么办 美图t8闪退怎么办 美图手机相机闪退怎么办 美图手机闪屏怎么办 魅族m6相册闪退怎么办 美图m6工厂模式怎么办 美图m6手机死机怎么办 美图m6s开不了机怎么办 美图手机m6进水怎么办 美图t8摔黑屏怎么办 美图屏幕点不动怎么办 朗动钥匙丢了怎么办 深圳小汽车摇号中签了怎么办 深圳摇号审核通过后怎么办 京东过保修期了怎么办 买的商业预付卡怎么办 壹钱包预付卡金额不足怎么办 美发店换老板原来预付卡怎么办