电脑环境为win7 64位系统,具体步骤如下:
1. 安装Java jdk与Eclipse
本机下载的java jdk为1.8的64位版本,因此Eclipse也需要64位的版本。java jdk可安装在默认路径,同时需配置好java环境变量,新增环境变量如下:
变量名 JAVA_HOME
变量值 D:\Program Files\Java\jdk1.8.0_45(安装路径)
变量名 Path
变量值 %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
变量名 CLASSPATH
变量值 .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
最后在“cmd”中运行 java -version,出现如下提示,则配置正确,此时Eclipse也能正确打开。
2. Eclipse中新建java工程
新建java工程HelloWorld,新建类TestNativeCode,包名为com.pc.TestNativeCode,在类中添加代码如下:
package com.pc.TestNativeCode;
public class TestNativeCode {
/**
* @param args
*/
public native void sayHello();
public static void main(String[] args) {
// TODO Auto-generated method stub
System.loadLibrary("NativeCode");
TestNativeCode nativeCode=new TestNativeCode();
nativeCode.sayHello();
}
}
3. 编译java工程
从cmd中进入HelloWorld工程中的src目录,命令
javac ./com/pc/TestNativeCode/TestNativeCode.java,该文件路径下会生成一个class文件。
4. 生成JNI头文件
同样从cmd中进入到src目录,命令
javah -jni com.pc.TestNativeCode.TestNativeCode。则在src目录下生成com_pc_TestNativeCode_TestNativeCode.h文件。
5. vs2010中生成dll
vs2010中新建win32项目 工程,并选择应用程序类型为dll。如下图所示
头文件中添加上一步生成的头文件,在NativeCode.cpp中修改代码如下:
#include "stdafx.h"
#include "com_liyong_TestNativeCode_TestNativeCode.h"
#include
using namespace std;
JNIEXPORT void JNICALL Java_com_pc_TestNativeCode_TestNativeCode_sayHello(JNIEnv *env, jobject obj)
{
cout<
}
同时项目属性-VC++目录-包含目录,加入如下图设置
最后,因为java与Elicpse都是64位,所以该工程的解决方案平台要改为x64,然后选择release模式,生成。
6. java工程中调用 将生成的dll复制到java工程中,运行程序,显示Hello World!