这两天在搞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:类的全称
相关推荐
Eclipse 中新建C 或C ++到项目时,头文件报警,显示“Unresolved inclusion:” 虽然不影响项目到编译和运行,确也无法查看头文件,让人感觉实在不爽。下面是在国外到网站上看到解决方案,自己整理了一下拿来分享一下...
在本文中,我们将深入探讨如何在Eclipse集成开发环境中,结合MinGW编译器来构建Java JNI(Java Native Interface)项目。JNI是Java平台的一部分,它允许Java代码和其他语言写的代码进行交互,使得开发者可以利用C/...
hello-jni是一个基本的示例,用于演示如何在Android应用中调用本地C/C++代码,通常包括JNI头文件的生成、本地方法的声明和实现,以及在Java代码中调用这些方法。这个过程有助于理解NDK的使用流程,并为进一步的...
- **编译环境配置**:在Eclipse中设置好构建器,确保NDK编译流程的顺利进行。 - **JNI接口设计**:Java层与C/C++层之间通过定义native方法进行通信,注意方法签名的一致性。 - **头文件生成**:使用`javah`命令自动...
在Eclipse中,可以使用内置的Javah任务或手动运行命令行工具生成头文件,然后在jni目录下实现对应的本地方法。 为了调试和测试,你需要在Android设备或模拟器上运行这个应用,确保Java和本地代码之间的通信正确无误...
在eclipse中新建一个Java项目,包含一个主类,例如`JNITest`,在这个类中声明native方法。例如: ```java public class JNITest { static { System.loadLibrary("jnitest"); } native int add(int a, int b);...
- 在Eclipse中设置断点,启动调试模式。 - 当程序执行到`debugFromC()`时,可以查看控制台(Console)输出`printf`的调试信息,或者在Android Studio的Logcat窗口看到`__android_log_print`的日志。 通过以上步骤...
本文将指导读者如何在 Eclipse 中搭建 JNI 开发环境,并使用 CDT 插件进行 C/C++ 代码的编写和编译。 环境搭建 1. 安装 CDT 插件 CDT(C/C++ Development Tooling)是 Eclipse 中的 C/C++ 开发插件。可以从官方...
2. **编写本地方法实现**:使用JNI头文件生成工具(如`javah`)生成C/C++的头文件,然后在这个头文件中定义本地方法的实现。例如,生成的头文件可能包含以下内容: ```c #include "JniTest.h" JNIEXPORT void ...
在编译完成后,我们可以在 Android 项目中使用 JNI 来调用.so 动态库中的 C/C++ 方法。 通过 JNI,我们可以在 Android 项目中调用.so 动态库中的 C/C++ 方法,实现与 native 代码的交互。这可以帮助我们实现更加...
总结,这个实例展示了如何在Eclipse中使用JNI来实现Java与C之间的通信,包括创建Java项目、生成JNI头文件、编写C代码、编译C代码以及测试整个流程。通过这种方式,开发者可以在Java应用中充分利用C/C++库的功能,...
标题中的“使用eclipse单步调试jni代码(方法1)”是指使用Eclipse集成开发环境进行JNI(Java Native Interface)代码的调试,这是Android应用开发中处理C或C++原生代码的一种方式。JNI允许Java代码调用本地库,通常...
【Eclipse JNI Demo】是一个基于Eclipse开发的Java Native Interface(JNI)示例项目,用于演示如何在Android应用中使用JNI技术。JNI是Java平台的标准编程接口,它允许Java代码和其他语言写的代码进行交互,特别是在...
通过学习和实践这个示例,你可以更深入地理解如何在Eclipse中进行Android JNI开发,以及如何解决过程中遇到的问题。不断探索和实践,你将能够熟练运用JNI实现高性能、低级别的功能,提升你的Android应用开发能力。
例如,假设NDK安装在`D:\data\android\android-ndk-r4b`,那么在Eclipse中应设置为该路径下的`apps\项目名称`目录。 3. **创建Java类**: - 在项目中创建一个新的Java类,例如`JNITest.java`。 - 编写包含native...
通过以上步骤,你便成功设置了Eclipse的JNI开发环境,可以方便地在Eclipse中编写、编译和调试JNI代码,而无需手动编译和导入.so文件。这极大地提高了开发效率,使得JNI开发变得更加便捷。随着对JNI的深入理解和实践...
2. **生成JNI头文件**: 使用`javah`工具(在Eclipse的`Project > Build Automatically`选项启用后,Eclipse会自动执行此步骤,生成对应的`.h`头文件,如`TestJni.h`,位于`jni`目录下)。 **四、编写C/C++代码** 1...
在提供的文档中,应该会详细介绍如何在Eclipse和Visual Studio 2010之间进行配置,以及如何调试和测试JNI程序。 总之,JNI程序开发涉及到Java和C/C++之间的交互,通过Eclipse进行Java编码,用Visual Studio 2010...
通过以上步骤,您可以在Eclipse中成功配置出Android NDK开发环境,实现C/C++代码的自动编译和JNI头文件的自动生成,极大地提高了开发效率和便利性。无论是对于初学者还是有经验的开发者来说,这一套配置都将带来巨大...