java jni

原创 2015年07月10日 19:49:03

在MAC环境下

一、生成.h头文件

1、新建Android项目
2、在src目录同级建立jni文件夹
3、打开终端,cd 到 项目的src 文件夹
4、运行 javah -d ../jni com.hym.hellojni.MainActivity(native函数的文件,必须包含包名)
5、刷新工程,即可看到jni 目录下多个 com_hym_hellojni_MainActivity.h 文件

二、实现.h文件
1、在jni文件夹 新建 hello.c 实现.h里边的函数
2、在jni文件内建Android.mk文件
LOCAL_PATH :=$(call my-dir) 
 #jni文件目录
include$(CLEAR_VARS)           #清除参数
LOCAL_MODULE:=hello          #编译完libhello.so
LOCAL_SRC_FILES:=hello.c     #编译的文件
include $(BUILD_SHARED_LIBRARY)  #为动态链接库
3、打开终端,cd 到 项目目录,敲入 ndk-build
4、刷新工程,即可在lib/armeabi文件夹 看到 libhello.so

三、加入so库
static {
      System.loadLibrary("hello");
}
在合适的地方调用实现的方法

四、查看java文件的函数签名
1、cd 到项目文件
2、运行 javap -classpath bin/classes -s -pcom.hym.hellojni.MainActivity(com.hym.hellojni为包名)即可看到类的方法签名
版权声明:本文为博主原创文章,未经博主允许不得转载。

JAVA JNI C++调用示例

  • 2016年10月26日 17:24
  • 41KB
  • 下载

Android实时直播,一千行java搞定不依赖jni,延迟0.8至3秒,强悍移动端来袭

在Android高版本中,特别是4.1引入了MediaCodec可以对摄像头的图像进行硬件编码,实现直播。 一般Android推流到服务器,使用ffmpeg居多,也就是软编码,实际上使用Android...

Java基础知识——JNI入门介绍(jstring与char*的转换)

JNIEXPORT   void   JNICALL   Java_command_Cmd_Command         (JNIEnv   *   env,   jobject   o,   j...
  • fei0724
  • fei0724
  • 2013年09月05日 15:37
  • 9057

java jni 应用框架事例

  • 2014年01月15日 14:37
  • 27KB
  • 下载

JNI:使用RegisterNatives方法传递和使用Java自定义类

转载至 JNI:使用RegisterNatives方法传递和使用Java自定义类 除了使用传统方法实现JNI外,也可以使用RegisterNatives实现JNI。和传统方法相比,使用Re...

Jni,JAVA本地调用

  • 2013年03月06日 01:05
  • 9KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java jni
举报原因:
原因补充:

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