`
lws0402
  • 浏览: 108547 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

javah编译带包class文件出错解决方法

    博客分类:
  • java
阅读更多
用JNI时,需要把class文件编译成.h文件
不带包名的class:在该class文件的同级目录下,键入命令javah XXXX
例如:TestJni.class文件在D:\\java_projects\test\目录下
      在命令提示行中,转到该目录下,运行javah TestJni
     
带包名的class:在该class文件的同级目录下,javah XXXX,会出错,报错信息大致是说无法访问(包名.XXX),解决方法是退回到class文件的上级目录,用命令javah 包名.XXX
例如:TestJni.class的包名为jni,该class文件在D:\\java_projects\test\jni
     目 录下,在命令提示行中,转到该目录的上级目录
      (D:\\java_projects\test\),运行javah jni.TestJni
分享到:
评论
1 楼 mapeijie888 2011-07-11  
貌似还是不行啊  兄弟贴代码出来看看

相关推荐

    javah编译jni

    在Android Studio 3.0及更高版本中,虽然Gradle插件已经内置了对JNI的支持,但使用javah工具编译JNI仍然是一种常见的方法,尤其是对于熟悉旧版流程的开发者。 首先,让我们理解一下javah工具。javah是Java SDK中的...

    Eclipse 配置 Javah NDK 编译

    Javah是Java SDK中的一个工具,用于生成C/C++的头文件,这些头文件包含了Java类的方法声明,使得在C/C++代码中可以调用Java方法。Eclipse作为一款流行的Java集成开发环境,提供了配置NDK编译的功能,便于进行混合...

    用javah导出类的头文件常见的错误及正确的使用方法.docx

    解决方法是只提供类的全名,不包含`.class`。 2. **错误二:未使用点分隔的全类名** 如果我们只输入`javah HelloJNIActivity`,会收到错误提示: ``` 错误: 找不到 'HelloJNIActivity' 的类文件。 ``` 这是...

    AndroidStudio 编译C/C++文件生成SO文件

    在Android开发中,有时我们需要利用C或C++的性能优势,这时就需要用到Android Studio的NDK(Native Development Kit)来编译C/C++代码,生成SO(Shared Object)动态链接库文件。这篇博客详细介绍了如何在Android ...

    哈工大的ltp编译后文件.zip

    在编译阶段,要使用Java的javah工具生成C++的头文件,然后使用C++编译器将源文件编译为动态链接库(如.so文件在Linux上)。在Windows系统中,生成的是.dll文件。确保生成的库文件能够被Java虚拟机找到,通常需要将其...

    javah h h h guu

    【标题】"javah h h h guu" 提到的 "javah" 是 Java 平台中的一个工具,主要用于生成 C/C++ 头文件,这些头文件包含了调用 Java 类中的 native 方法所需的函数原型。这通常是 Java 开发中进行本地方法接口(JNI,...

    androidstudio编译c++为.so文件

    使用 .so 文件库时,确保包名和类名与编译 .so 文件时使用的相同。 通过以上步骤,你可以在 Android Studio 中使用 C++ 代码,并将其编译为 .so 文件,最后集成到 Android 应用中。这种方法可以显著提高应用程序的...

    AES加解密算法编译的so文件及demo

    4. 使用`javah`工具生成C/C++的头文件,其中包含了Java层方法的JNI签名。 5. 编译C/C++代码,生成SO文件。 6. 在Java层调用`native`方法,触发SO库中的加密或解密操作。 通过这种方式,开发人员可以灵活地将强大的...

    android编译ffmpeg库的demo【内置已编译好的SO文件】

    例如,你可以创建一个`NativeFFmpeg.java`文件声明JNI方法,然后在对应的C/C++源码中实现这些方法。使用`javah`命令可以自动生成JNI头文件,或者直接在Android Studio中使用注解`@Native`来生成。 最后,别忘了在`...

    ffmpeg编译包

    在Android开发中,FFmpeg编译包的使用可以让开发者实现音频和视频的处理,如裁剪、合并、转码、提取音频等高级功能。下面将详细介绍FFmpeg在Android中的编译过程以及如何调用其API进行操作。 1. FFmpeg编译准备: ...

    基于mupdf1.4编译的so文件

    **基于mupdf1.4编译的so文件** mupdf是一款开源的PDF阅读器库,由Artifex Software开发。它以轻量级、高效和跨平台为特点,支持多种操作系统,包括Android。mupdf1.4是这个项目的一个特定版本,发布于2013年,提供...

    Java调用C(动态SO文件)接口开发说明书

    例如,在示例中,我们创建了一个native的公用方法,通过javah命令生成C代码来实现方法,该方法的C函数原型是通过对class文件使用javah实用程序来创建的,而class文件是通过编译Java文件生成的。 三、C代码的生成和...

    JNI开发之javah生成静态和非静态的两个头文件区别代码

    1. 编译Java类并生成`.class`文件。 2. 使用`javah`生成头文件: - 非静态方式:`javah com.example.MyClass` - 静态方式:`javah -static com.example.MyClass` 3. 根据生成的头文件编写C/C++代码实现本地方法。 ...

    JDK命令学习 javac java javah jdb

    本文总结了 JDK 中的各种命令,包括 javac、java、javah、jdb 等,详细介绍了 JDB 调试工具的使用方法和命令列表。通过学习这些命令,可以更好地学习和使用 Java 语言。 一、JDK 命令简介 JDK 中提供了许多实用的...

    qt调用JAVA文件示例

    6. **打包和运行**:确保你的Java类(`.class`文件)被包含在最终的APK中,然后编译并运行QT项目。在Android设备上,你将看到C++代码成功调用了Java方法并显示了结果。 总结来说,QT调用JAVA文件的关键在于使用...

    JNI生成文件

    2. **生成头文件**:使用JDK的`javah`工具,根据包含`native`方法的类生成对应的C/C++头文件。例如,对于上述的`HelloWorld`类,可以执行: ``` javah HelloWorld ``` 这将生成`HelloWorld.h`文件,里面包含了Java...

    gmssl 3.0 - android 编译工程

    6. **集成到应用**:将编译好的本地库(`.so` 文件)添加到 Android 项目的 `jniLibs` 目录下,根据 ABI 分别放入对应的子目录。在 Java 代码中加载库并调用 JNI 函数。 7. **测试与调试**:编写测试用例验证 GMSSL...

    编译ffmpeg2.5.2所需要的文件

    本文件“android_ffmpeg2.5.2”包含的是针对Android平台编译的FFmpeg 2.5.2版本的源码和生成的动态库。 FFmpeg的核心功能包括: 1. **编码**: 支持多种音频和视频编码格式,如H.264、AAC、VP9等,允许将多媒体数据...

    java调用c代码:AVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式 )。通过调用本地的库文件的内部方法,使JAVA可以实现和本地机器的紧密联系,调用系统级的各接口方法

    编译Java源文件为`.class`后,使用`javah`工具生成C头文件。例如,对于`testdll.class`,运行`javah TestDLL`将生成`TestDLL.h`。 3. **编写C代码并实现本地方法**: 根据生成的C头文件,你需要实现这些本地方法...

Global site tag (gtag.js) - Google Analytics