`
me-
  • 浏览: 71648 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jni 包 方法名

JNI 
阅读更多
package com.xxx;
public class Object {

private static native void registerNatives();
static {
registerNatives();
}

public final native Class getClass();
public native int hashCode();
public boolean equals(Object obj) {
return (this == obj);
}
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
public final native void notify();

public final native void notifyAll();

public final native void wait(long timeout) throws InterruptedException;

public final void wait(long timeout, int nanos) throws InterruptedException {
if (timeout < 0) {
throw new IllegalArgumentException("timeout value is negative");
}

if (nanos < 0 || nanos > 999999) {
throw new IllegalArgumentException(
"nanosecond timeout value out of range");
}

if (nanos >= 500000 || (nanos != 0 && timeout == 0)) {
timeout++;
}

wait(timeout);
}

public final void wait() throws InterruptedException {
wait(0);
}

protected void finalize() throws Throwable { }
}

////my solution
when u using the package in this java
you must compile the h file with package name.
example :
javah -jni -classpath .... com.xxx.Object;
so the h file not same as with this command:
javah -jni -classpath .... com.xxx.Object;
the result ,your native method name is modified to Java_com_xxx_Object_MethodName.
compile your dll file ,you will solve that problem.
burning@cjsdn
分享到:
评论

相关推荐

    jni编程c回调java的方法

    这将生成一个名为`com_example_JniExample.h`的头文件,其中包含了C/C++函数的声明。 ### 4. 编写C/C++代码 接下来,我们需要实现头文件中声明的函数。在`com_example_JniExample.c`(或`.cpp`)文件中,我们可以...

    动态注册JNI方法写hello jni

    数组中的每个元素都是一个`JNINativeMethod`结构体,包含了方法名、方法类型和实际的本地函数指针。`stringFromJNI`方法则返回一个字符串。 在Android.mk或CMakeLists.txt中配置编译规则,确保C/C++源文件被编译成....

    jni开发及jar包生成调用

    这将生成一个名为`MyJNI.h`的头文件,包含Java本地方法的声明。 3. **实现本地方法**:根据生成的头文件编写C/C++代码,并实现本地方法。例如,`MyJNI.cpp`: ```cpp #include "MyJNI.h" JNIEXPORT void JNICALL ...

    android jni获取 Mac地址

    尽管这里的JNI方法绕过了Java层的权限检查,但应用仍需在运行时确保拥有必要的权限,否则可能会导致JNI函数失败。 总结起来,在Android的JNI环境中获取MAC地址涉及以下几个关键知识点: 1. 使用JNI进行Java与C/C++...

    jni调用java静态方法

    在Java类中,我们会定义`native`关键字修饰的静态方法,这将提示JVM该方法需要通过JNI来实现。例如: ```java public class JniStaticCallExample { static { System.loadLibrary("jnicallexample"); // 加载本地...

    Java JNI调用DLL方法

    在本案例中,我们讨论的是如何使用Java JNI调用一个名为"AlarmTTS"的VC(Visual C++)动态链接库(DLL)并进行调试。 首先,我们需要了解Java部分的代码。`CallAlarmTTSDll`类是Java程序的核心,它定义了三个本地...

    android jni使用方法

    以下是对Android JNI使用方法的详细步骤和解释: 1. **创建Android项目**: 首先,你需要在Android Studio中创建一个新的Android项目。在这个例子中,项目名为`jniceshi2`。 2. **编写Java类并生成.class文件**:...

    JNI开发——不同class类中的native本地方法的动态注册

    其中,`JNIEnv *env`是JNI环境指针,`jclass clazz`是要注册本地方法的类的类对象,`JNINativeMethod* methods`是一个结构体数组,包含了待注册的方法名、类型签名和实现函数指针,`int numMethods`是方法的数量。...

    JNI与Java方法的相互调用

    接下来,我们需要使用`javah`工具(在Java开发工具包JDK中)生成JNI头文件。对于上述的`TestJNI`类,执行`javah TestJNI`将生成`TestJNI.h`,这个头文件包含了Java native方法的C/C++原型。 然后,在C++环境中,...

    Android通过JNI调用.so动态库

    这将在 classes 目录下生成一个名为 com_wwj_jni_TestJNI.h 的头文件。我们可以将其复制到 jni 文件夹下,并打开该文件。 在 com_wwj_jni_TestJNI.h 文件中,我们可以找到三个 native 方法的声明。这三个方法分别...

    Android模块里面增加JNI的方法,调用c代码

    例如,可以创建一个名为`FileBitManipulator`的类,然后声明一个本地方法`setFileBit`: ```java public class FileBitManipulator { static { System.loadLibrary("bitmanipulation"); } public native void ...

    jni动态注册

    注意,这里的方法名遵循JNI的命名规则,即`Java_`+ 包名 + 类名 + _ + 方法名 + 参数列表。 4. **调用JNI方法**:在Java代码中,你可以像调用普通方法一样调用这些动态注册的JNI方法,因为它们已经被添加到类的...

    JNI实现示例DEMO

    JNI提供了一种方式,让Java虚拟机(JVM)能够调用本地方法(非Java语言编写的方法),同时也允许本地代码调用Java对象的方法。JNI接口包括了Java到本地代码的调用以及本地代码到Java的回调。 要创建一个JNI应用,你...

    Java jni调用c实例

    在本例中,这将生成一个名为`HelloWorld.h`的头文件,包含如下内容: ```c #include &lt;jni.h&gt; #ifndef _Included_HelloWorld #define _Included_HelloWorld #ifdef __cplusplus extern "C" { #endif JNIEXPORT ...

    Jni 项目 包含各种数据类型转换

    例如,你可以创建一个名为`NativeLib`的类,并在其中定义一个如`void callCppFunction()`的方法。 ```java public class NativeLib { static { System.loadLibrary("cpp_dll"); // 加载dll动态库 } public ...

    Eclipse里Android JNI的开发方法

    - 注意:这些方法的签名(包括方法名、参数类型及返回值类型)必须与对应的C/C++函数相匹配。 - **生成H头文件**: - 编译完成后,在项目的bin目录下的classes文件夹中会生成相应的`.class`文件(例如`JniClient....

    用Delphi开发JNI.docx

    在开发JNI应用时,需要注意命名规则,例如,过程名称需要以Java开头,并使用下划线将Java类的包名、类名和方法名连起来。否则,Java类将无法将native方法与它对应起来。 通过使用Delphi开发JNI应用,可以实现Java...

    android jni开发步骤

    在项目的src目录下新建一个名为`java`的包,然后创建一个Java类,比如`JniDemo`。在这个类中,我们需要定义native方法,这是JNI的关键部分。例如: ```java public class JniDemo { static { System.loadLibrary...

    JNI动态注册 方式

    1. **创建本地方法表**:在C/C++代码中,你需要定义一个结构体数组,每个元素代表一个本地方法,包含方法名、方法签名和实际的本地方法函数指针。 2. **初始化JNIEnv指针**:在`JNI_OnLoad`或自定义的初始化函数中...

    jni相关书籍资料

    第一本书籍“05134745605.pdf”可能详细介绍了JNI的基础概念,包括如何在Java代码中声明本地方法,创建头文件,编写C/C++代码实现这些方法,并通过Java虚拟机(JVM)加载动态链接库。书中可能还涵盖了JNI的各种数据...

Global site tag (gtag.js) - Google Analytics