windows平台下jni调用说明

1.首先下载安装mingw-w64(个人而定,64位),安装目录C:\mingw-w64\x86_64-4.9.2-win32-seh-rt_v3-rev0;然后配置环境变量。在path中添加该路径

[img]http://dl2.iteye.com/upload/attachment/0115/4414/9a99dfbd-0b33-3041-92cb-d731852756ae.png[/img]

2.在eclipse中新建java工程,创建一个java类。

[code="java"][/code]
package com.hr.study;

public class HelloNative {

static{
System.out.println(System.getProperty("java.library.path"));
System.loadLibrary("libJNI");//放在java.library.path任意一个路径下面
// System.load("E:/workspace/android-workspace-ndk/StudyJNI/lib/libJNI.dll");//绝对路径调用方式
}
public static native void greeting();

public static void main(String[] args) {

HelloNative.greeting();
}
}
3.使用javah命令,生成com_hr_study_HelloNative.h头文件.cmd打开命令行窗口,切换到class目录路径,E:\workspace\android-workspace-ndk\StudyJNI\bin>javah com.hr.study.HelloNative.

[img]http://dl2.iteye.com/upload/attachment/0115/4418/1334b1c7-ab80-3ec3-916e-6dd48865cd5e.png[/img]


4.在CDTeclipse中创建c++工程,将生成的头文件拷贝到src目录下.为工程引入jni.h/jin_md.h,右键属性->c/c++General->Paths and Symbols,下属选项卡Includes->GNU C++,Add添加JDK目录inludes及win32目录。

[img]http://dl2.iteye.com/upload/attachment/0115/4420/75c6905e-12f0-3927-bad4-28463466c416.png[/img]
5.cdt编译设置,c/c++Build->Settings->Tool Settings->MinGW C++ Linker目录栏下的Miscellaneous选项下,在linker flags处填入:-Wl,–add-stdcall-alias,在Shared Library Settings中勾选Shared,Build Arifact选项页中,设置Artifact Type为Shared Library。
如图:
[img]http://dl2.iteye.com/upload/attachment/0115/4428/99f8c1c0-7a10-3910-b8fd-c6b07e7b0568.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0115/4430/26dd7ce7-9fe8-3ce1-9f34-75d3e134ca20.png[/img]
6编译生成dll文件,将dll文件拷贝到java.library.path(java环境变量)下即可调用,也可以拷贝到java工程,通过绝对路径方式调用
[img]http://dl2.iteye.com/upload/attachment/0115/4432/ed9c21f0-530d-3a9b-abaa-29b6f21f402e.png[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值