Eclipse集成JNI与AndroidNDK操作

本文介绍如何在Eclipse中配置ExternalTools来简化JNI与NDK的操作流程,实现一键生成.h文件及编译.so文件。通过具体步骤指导读者完成配置,并提及Eclipse ADT中直接使用NDK的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过Eclipse中External Tools的配置,集成JNI与NDK繁琐的命令,实现一键操作。

集成JNI操作

配置

在Eclipse中,Run -> External Tools -> External Tools Configuration。对Program右击new,Name命名为JavaH,各选项卡做以下配置:

Main选项卡:

属性说明
LocationC:\Program Files\Java\jdk1.8.0_25\bin\javah.exeJDK的javah.exe路径
Working Directory${project_loc}\srcJavaH作用位置(定位)
Arguments-classpath “${project_loc}\bin\classes;” -d “${project_loc}\jni” -jni “${java_type_name}”JavaH相关参数,注意\bin\classes;后的分号;

Refresh选项卡:
勾选Refresh resource upon completion,命令完成后刷新工作目录

Common选项卡:
在Display in favorites menu中勾选External Tools,在External Tools显示该功能。

Apply,即可在工具栏External tools中看到JavaH功能。

使用

选中工程中包含native声明的.java文件,点击External tools -> JavaH 就可以自动生成对应的.h文件,位于/jni文件夹。
P.S.
如果对存在引用关系(如继承)的.java文件进行javah命令,需要正确配置好引用文件的位置。将native声明在一个单独的类中可避免这个问题。

这里写图片描述

集成ndk-build操作

配置

在Eclipse中,Run -> External Tools -> External Tools Configuration。对Program右击new,Name命名为NDK-build,各选项卡做以下配置:

Main选项卡:

属性说明
LocationD:\sdk\android-ndk-r13b\ndk-build.cmdndk-build.cmd脚本路径
Working Directory${project_loc}ndk-build作用位置(定位)

Refresh选项卡:
勾选Refresh resource upon completion,命令完成后刷新工作目录

Common选项卡:
在Display in favorites menu中勾选External Tools,在External Tools显示该功能。

Apply,即可在工具栏External tools中看到NDK-build功能。

使用

在工程\jni目录下配置好Android.mk文件,放好相关的.c与.h文件;
选中工程,点击External tools -> NDK-build 开始编译,生成.so文件。
这里写图片描述

EclipseADT中的NDK操作

使用EclipseADT可以通过界面直接使用NDK编译,而不需手动执行ndk-build命令。

EclipseADT中的NDK配置:
打开Eclipse -> Window -> Preferences -> Android -> NDK -> 设置NDK路径(如D:\sdk\android-ndk-r13b\build) -> Apply。

新建一个Android工程NDKTest,在工程上右键点击Android Tools -> Add Native Support…,然后给.so文件取个名字。这时候工程就会多一个jni的文件夹,jni下有Android.mk和NDKTest.cpp文件。Android.mk是NDK工程的Makefile,NDKTest.cpp就是NDK的源文件。

参考

  1. 一键使用NDK交叉编译
  2. Android NDK环境搭建与简单实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KwCoding

谢了老板您讷~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值