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());}





更多相关文章

  1. 使用内部(com.android.internal)和隐藏(@hide)API手记
  2. Android如何将程序打成jar包
  3. MediaProvider流程分析
  4. android 纯代码 详细编写布局文件
  5. android 绘图的基本知识
  6. android应用去掉标题栏的方法
  7. Android(安卓)Studio和MAT结合使用来分析内存问题
  8. Android(安卓)自定义控件属性赋值
  9. [Android(安卓)Studio]设置Button的圆角、点击效果、按钮颜色

随机推荐

  1. 网页二维码推广App的实现
  2. Android(安卓)webview与H5混合开发 -- H5
  3. android风格统一化修改上方标题栏颜色
  4. Android(安卓)intent 显示和隐士意图
  5. ubuntu中adb安装与使用,android真机调试
  6. Android(安卓)so文件函数加密
  7. Android的存储系统—Vold与MountService
  8. android 布局适应不同分辨率
  9. android 如何保留数据两位小数
  10. Android避免内存泄露:合理使用getContext(