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!
相关推荐
在本实例中,我们将探讨如何使用Eclipse集成开发环境来创建一个简单的JNI项目,实现C语言与Java之间的字符串传递。 首先,我们需要了解JNI的基本概念。JNI提供了一种方式,使得Java应用程序能够调用本地(非Java)...
最近在研究JNI,网上说的编译JNI的方法多种多样,挑也挑花了眼,不过我不太喜欢繁琐的东西,感觉能一次搞定的最好。后来结合网上说的让后加上自己摸索,终于可以用eclipse + NDK + Cygwin编译出so文件并且能够直接...
现在,读者已经成功搭建了一个 JNI 开发环境,可以使用 Eclipse 和 CDT 插件来编写和编译 C/C++ 代码,并使用 NDK 和 Cygwin 来编译 JNI 代码。这个环境可以帮助读者更好地开发 JNI 项目,提高开发效率。
本实例是基于Eclipse的JNI应用,已经过测试,能够帮助开发者直观地理解JNI的调用流程。 首先,我们来详细了解一下JNI的基本概念。JNI提供了一种方式,让Java代码可以调用本地(非Java)代码,也可以让本地代码调用...
总的来说,"Eclipse_Jni_Opencv_NDK"是一个关于在Eclipse环境中使用JNI、OpenCV和NDK开发Android应用的教程或项目,涵盖了从环境配置、代码编写到构建和调试的全过程。这不仅要求开发者熟悉Java,还要掌握C/C++和...
通过以上步骤,你已经成功地在Eclipse和MinGW环境下构建了一个Java JNI项目。这个过程中,Eclipse提供了方便的集成开发环境,而MinGW则提供了编译C/C++代码的能力。这种组合为Java开发者提供了在不离开熟悉环境的...
**配置NDK集成Eclipse使用hello-jni实例步骤** 1. **安装Cygwin** - 访问Cygwin官方网站下载安装包,并在Windows上解压。 - 在安装过程中,选择合适的安装路径,避免包含空格和中文字符,以防止可能出现的问题。 ...
在这个“jni教程实例手把手”资源中,包含了多个文档和一个示例项目,旨在帮助学习者全面理解并掌握JNI的使用。 1. **Android_JNI总结.doc**:这份文档可能是对Android平台上JNI应用的总结,涵盖了JNI的基本概念、...
### Android Eclipse JNI (NDK) 开发环境搭建详解 #### 一、引言 随着移动互联网的迅猛发展,Android平台的应用开发变得越来越重要。而JNI(Java Native Interface)与NDK(Native Development Kit)作为连接Java层...
1.) 在项目根目录下创建jni目录,下面是要放进去的第一个文件Android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := main_jni #LOCAL_CFLAGS := LOCAL_SRC_FILES := main.cpp #LOCAL_...
【Eclipse JNI Demo】是一个基于Eclipse开发的Java Native Interface(JNI)示例项目,用于演示如何在Android应用中使用JNI技术。JNI是Java平台的标准编程接口,它允许Java代码和其他语言写的代码进行交互,特别是在...
在这种情况下,"springboot+jna/jni调用动态so/dll库"是一个重要的主题,它涉及到Spring Boot应用如何利用Java Native Interface (JNI) 和 Java Native Access (JNA) 这两种技术来调用操作系统级别的动态链接库(.so...
Java JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。JNI在很多场景下被使用,比如优化性能、利用已有的C/C++库或者访问操作系统特定的功能。在这个"Java jni调用...
本示例是关于如何在Eclipse开发环境中结合Microsoft Visual Studio 2010来实现JNI程序开发的一个详细教程。 首先,我们需要理解JNI的核心概念。JNI允许Java应用程序调用本地(非Java)代码,比如C++,并反之亦然。...
如何使用jni调用java方法完成java回调c++调用java等
在这个"第一个JNI实例学习"中,我们将探讨如何创建并运行一个基本的JNI程序。 首先,我们需要理解JNI的核心概念。JNI提供了一套接口,让Java代码能够声明本地方法,这些方法在运行时由本地(非Java)代码实现。本地...
本教程将详细介绍如何在C层利用JNI进行调试,并在Eclipse环境中输出信息。 首先,我们需要理解JNI的基本工作原理。JNI提供了一种方式让Java代码能够调用本地(Native)代码,也就是C/C++代码,同时本地代码也可以...
我们将以"android调用JNI实例"为例,一步步解释这个过程。 首先,我们需要准备开发环境。安装Android NDK是必不可少的步骤,NDK(Native Development Kit)是一组工具,开发者可以使用它来编写用C和C++编写的本地...
总之,JNI实例“Java调用DLL c++调用Java”是一个实用的学习资源,它详细解释了如何利用JNI进行Java与C++的交互,无论是将本地库引入Java程序还是将Java功能嵌入C++应用。通过实践这些例子,开发者能够深入理解JNI的...
在本教程中,我们将利用Eclipse IDE和Microsoft Visual Studio 2013(VS2010)来创建一个简单的JNI示例,展示如何从Java程序调用本地C代码并生成一个动态链接库(DLL)。 1. **JNI基础知识**: - JNI是Java平台的...