`
bbwang8088
  • 浏览: 45721 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在Eclipse中设置进行JNI的头文件编译方法

 
阅读更多


这两天在搞NDK开发,JNI的头文件进行编译的时候,要跑到对应的class文件路径下(通常是工程的bin目录),进行编译生成,很是不便,也容易出错,所以考虑在Eclipse中作为外部工具引入,所以便查了下资料,现记录下来。

 

方法是:

 

1、在Eclipse环境下,打开下图中的最右边那个按钮。

 

 

 

2、新建一个Program,写上名字比如“javaH”,然后填写下面几项内容:

2.1、Location:把JDK下面的javaH.exe的全路径填进来。

2.2、Working Directory:

 

  ${project_loc}/bin

 ${project_loc}为在Eclipse环境下的变量,是工程路径的意思,定位到该路径的bin目录下,也就是classes文件存放的路径。

 

2.3、参数:

 

Arguments: -classpath .;./classes -d "${project_loc}/jni" -jni ${java_type_name}

 

 -classpath设定为”.;./classes“,意思是当前路径,这样可以让你需要编译的类中引用到的其他类也能被找到。

 -d设定为”${project_loc}/jni“,也就是编译出来的H文件生成到工程下面的jni文件夹去。

 ${java_type_name}是需要编译的类名。

 

3、跑到Eclipse工程中选中一个需要编译的类,然后按这个按钮试试。是不是在你的jni文件夹下生成了?




 

末了,补充一句,在命令行下标准的编译命令为下述:

 

javah -classpath A -d B -jni C

 

A:class文件的路径

B:H文件的生成路径

C:类的全称

 


 

  • 大小: 30.6 KB
  • 大小: 13.4 KB
  • 大小: 2.2 KB
分享到:
评论

相关推荐

    Eclipse添加C/C++头文件跳转

    Eclipse 中新建C 或C ++到项目时,头文件报警,显示“Unresolved inclusion:” 虽然不影响项目到编译和运行,确也无法查看头文件,让人感觉实在不爽。下面是在国外到网站上看到解决方案,自己整理了一下拿来分享一下...

    简洁使用 eclipse+mingw 环境编译 java jni

    在本文中,我们将深入探讨如何在Eclipse集成开发环境中,结合MinGW编译器来构建Java JNI(Java Native Interface)项目。JNI是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互,使得开发者可以利用C/...

    配置NDK集成eclipse使用hello-jni实例

    hello-jni是一个基本的示例,用于演示如何在Android应用中调用本地C/C++代码,通常包括JNI头文件的生成、本地方法的声明和实现,以及在Java代码中调用这些方法。这个过程有助于理解NDK的使用流程,并为进一步的...

    Eclipse里Android JNI的开发方法

    - **编译环境配置**:在Eclipse中设置好构建器,确保NDK编译流程的顺利进行。 - **JNI接口设计**:Java层与C/C++层之间通过定义native方法进行通信,注意方法签名的一致性。 - **头文件生成**:使用`javah`命令自动...

    Eclipse_Jni_Opencv_NDK

    在Eclipse中,可以使用内置的Javah任务或手动运行命令行工具生成头文件,然后在jni目录下实现对应的本地方法。 为了调试和测试,你需要在Android设备或模拟器上运行这个应用,确保Java和本地代码之间的通信正确无误...

    eclipse 下实现java JNI 初探

    在eclipse中新建一个Java项目,包含一个主类,例如`JNITest`,在这个类中声明native方法。例如: ```java public class JNITest { static { System.loadLibrary("jnitest"); } native int add(int a, int b);...

    jni调试 c层在eclipse中输出信息

    - 在Eclipse中设置断点,启动调试模式。 - 当程序执行到`debugFromC()`时,可以查看控制台(Console)输出`printf`的调试信息,或者在Android Studio的Logcat窗口看到`__android_log_print`的日志。 通过以上步骤...

    JNI开发 eclipse相关开发环境的搭建

    本文将指导读者如何在 Eclipse 中搭建 JNI 开发环境,并使用 CDT 插件进行 C/C++ 代码的编写和编译。 环境搭建 1. 安装 CDT 插件 CDT(C/C++ Development Tooling)是 Eclipse 中的 C/C++ 开发插件。可以从官方...

    jni实例 已Eclipse测试可用

    2. **编写本地方法实现**:使用JNI头文件生成工具(如`javah`)生成C/C++的头文件,然后在这个头文件中定义本地方法的实现。例如,生成的头文件可能包含以下内容: ```c #include "JniTest.h" JNIEXPORT void ...

    Android通过JNI调用.so动态库

    在编译完成后,我们可以在 Android 项目中使用 JNI 来调用.so 动态库中的 C/C++ 方法。 通过 JNI,我们可以在 Android 项目中调用.so 动态库中的 C/C++ 方法,实现与 native 代码的交互。这可以帮助我们实现更加...

    eclipse使用jni的简单实例

    总结,这个实例展示了如何在Eclipse中使用JNI来实现Java与C之间的通信,包括创建Java项目、生成JNI头文件、编写C代码、编译C代码以及测试整个流程。通过这种方式,开发者可以在Java应用中充分利用C/C++库的功能,...

    使用eclipse单步调试jni代码(方法1)

    标题中的“使用eclipse单步调试jni代码(方法1)”是指使用Eclipse集成开发环境进行JNI(Java Native Interface)代码的调试,这是Android应用开发中处理C或C++原生代码的一种方式。JNI允许Java代码调用本地库,通常...

    Eclipse JNI Demo

    【Eclipse JNI Demo】是一个基于Eclipse开发的Java Native Interface(JNI)示例项目,用于演示如何在Android应用中使用JNI技术。JNI是Java平台的标准编程接口,它允许Java代码和其他语言写的代码进行交互,特别是在...

    eclipse 环境下关于android jni开发

    通过学习和实践这个示例,你可以更深入地理解如何在Eclipse中进行Android JNI开发,以及如何解决过程中遇到的问题。不断探索和实践,你将能够熟练运用JNI实现高性能、低级别的功能,提升你的Android应用开发能力。

    Eclipse Android NDK JNI 详细开发流程

    例如,假设NDK安装在`D:\data\android\android-ndk-r4b`,那么在Eclipse中应设置为该路径下的`apps\项目名称`目录。 3. **创建Java类**: - 在项目中创建一个新的Java类,例如`JNITest.java`。 - 编写包含native...

    JNI开发eclipse相关环境设置

    通过以上步骤,你便成功设置了Eclipse的JNI开发环境,可以方便地在Eclipse中编写、编译和调试JNI代码,而无需手动编译和导入.so文件。这极大地提高了开发效率,使得JNI开发变得更加便捷。随着对JNI的深入理解和实践...

    windows编译Jni(无需Cygwin)

    2. **生成JNI头文件**: 使用`javah`工具(在Eclipse的`Project > Build Automatically`选项启用后,Eclipse会自动执行此步骤,生成对应的`.h`头文件,如`TestJni.h`,位于`jni`目录下)。 **四、编写C/C++代码** 1...

    jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010).zip

    在提供的文档中,应该会详细介绍如何在Eclipse和Visual Studio 2010之间进行配置,以及如何调试和测试JNI程序。 总之,JNI程序开发涉及到Java和C/C++之间的交互,通过Eclipse进行Java编码,用Visual Studio 2010...

    非常强大的eclipse中android ndk开发环境的配置说明

    通过以上步骤,您可以在Eclipse中成功配置出Android NDK开发环境,实现C/C++代码的自动编译和JNI头文件的自动生成,极大地提高了开发效率和便利性。无论是对于初学者还是有经验的开发者来说,这一套配置都将带来巨大...

Global site tag (gtag.js) - Google Analytics