1、在eclipse中新建一个testJni的工程,新建一个package com.easou.abo.jnitest
2、在com.easou.abo.jnitest下新建一个类Demo,代码如下
- package com.easou.abo.jnitest;
- public class Demo {
- public native void sayHello();
- public static void main(String[] args) {
- System.loadLibrary("testJni");
- Demo dm = new Demo();
- dm.sayHello();
- }
- }
3、运行cmd,定位到E:\workspace\testJni\bin(也就是testJni工程下bin目录)
运行命令 javah com.eaosu.abo.jnitest.Demo
执行完后,在bin目录下会有多一个com_easou_abo_jnitest_Demo.h的文件,这个在后面C语言中会用到
4、打开vs2008新建一个名为testJni的win32控制台项目
点击确定->下一步,选中dll,附加选项中选择空项目
点击完成,如图
5、将我们刚javah出来的h文件复制到C:\Users\easou\Documents\Visual Studio 2008\Projects\testJni\testJni,在testJni工程中添加头文件,现有项,在弹出来的对话框选择com_easou_abo_jnitest_Demo.h文件。
6、将java jdk安装目录中的include\jni,h include\win32\jni_md.h两个文件复制到C:\Users\easou\Documents\Visual Studio 2008\Projects\testJni\testJni
此时testJni的目录结构如下
7、在vs2008工程testJni新建一个C++源文件,命名为source
打开source.app,输入代码
- #include "com_easou_abo_jnitest_Demo.h"
- #include <iostream>
- using namespace std;
- JNIEXPORT void JNICALL Java_com_easou_abo_jnitest_Demo_sayHello(JNIEnv * env, jobject obj){
- cout<<"Hello,Wrold!"<<endl;
- }
打开com_easou_abo_jnitest_Demo.h
将#include <jni.h>改为#include "jni.h"
按F7编译
8、在windows环境变量中将刚编译出来的dll文件加入进去,dll目录是C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Users\easou\Documents\Visual Studio 2008\Projects\testJni\Debug;
9、重启eclipse,运行工程testJni,会在控制台看到Hello,Wrold!
相关推荐
本实例为java对jni的调用,实现c到java的字符串传递. 详细见:http://blog.csdn.net/xuwenneng/article/details/54311589
最近在研究JNI,网上说的编译JNI的方法多种多样,挑也挑花了眼,不过我不太喜欢繁琐的东西,感觉能一次搞定的最好。后来结合网上说的让后加上自己摸索,终于可以用eclipse + NDK + Cygwin编译出so文件并且能够直接...
jni实例 已Eclipse测试可用,让你清楚的了解jni调用的流程.
简洁使用 eclipse+mingw 环境编译 java jni:安装mingw,eclipse,无需javah等等操作。工程中的文件路径可能要根据具体环境修改,详见编译提示(如果有的话)
JNI开发 eclipse相关开发环境的搭建
Eclipse_Jni_Opencv_NDK 配置JNI编译环境,一键触发,以Opencv为实例,包含 mk 文件 Demo (还不够一个百个字节么?)
本文档根据网上的学习资料和本人的亲身实践,详细讲解了在windows系统平台下如何配置ndk的过程。 1、安装cygwin 2、下载ndk 3、ndk和cygwin的配置 4、下载安装eclipse插件cdt ...6、运行实例hello-jni
springboot+jna/jni调用动态so/dll库
1.) 在项目根目录下创建jni目录,下面是要放进去的第一个文件Android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := main_jni #LOCAL_CFLAGS := LOCAL_SRC_FILES := main.cpp #LOCAL_...
Java jni调用c实例
JNI 调用 c pp互相调用实例, java JNI cpp互相调用实例
该资源包含了一个java实现的jni教程,简单易懂,手把手的教程。
这是一个Android Studio的jni编程入门实例,配置方式简单易懂,本人有相应的博客说明,欢迎交流。
网上有关在linux中讲android jni(ndk) eclipse开发环境的搭建的资料有很多,但大多都非常的繁琐,本来是简单的事情描述的却很复杂。下面结合我的实际把步骤写出来,其实很简单一步就可完成……
代码用来演示第一个jni实例!对初学者很实用!
Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例Android NDK JNI 经典实例
jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010),包括eclipse工程代码和visual studio2010工程代码,和doc说明文件
Eclipse + vs2013 编写第一个JNI HelloWorld, Java 通过JNI调用C ,通过VS2010生成 dll库,来通过Java调用
用于客户需要登录此系统使用固定分辨率,退出系统恢复正常,所以就考虑到用java调用C程序写的控制系统改变分辨率底层代码,通过这个例子,也可以自己实现Java调用C控制系统所有的底层代码,所以希望通过这个例子可以给你...
该Demo有两个主要的例子,一个实现的是在java程序中调用DLL中的方法;而一个则是讲述如何在C++代码中调用Java类中的方法、详细阐述了JNI机制的使用,是一个很好的学习例子。