CMD编译JNI头文件方法 jobject/jclass 参数

来源:互联网 发布:mac能装steam吗 编辑:程序博客网 时间:2024/05/16 18:11

1.配置JAVA环境变量

变量名:JAVA_HOME  变量值:C:\Program Files\Java\jdk1.7.0_67

变量名:calsspath         变量值:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

变量名:Path                 变量值

2.编写JAVA 类

package com.oaup.core.libh264;/** * Created by jiaokx on 2016/4/8. */public class CX264Writer {    public native int Init();
    public native static int getFrameSize();}
3.生成*.class 文件
      在CMD中进入到JAVA类当前目录(libh264目录)
      执行命令  javac CX264Writer.java
      就会在当前目录生产CX264Writer.class文件。

4.由 CX264Writer.class 生成jni头文件
       一目了然,首先,回到包名根路径,比如我们的包名是com.oaup.core.libh264 类名是CX264Writer,那么我们就要进入到com同级的目录,src/main/java/com/oaup/core/libh264,我们就要进入到java目录下。
      然后执行命令 javah -jni com.oaup.core.libh264.CX264Writer
      生成com_oaup_core_libh264_CX264Writer.h头文件。

5. com_oaup_core_libh264_CX264Writer.h
   
/* DO NOT EDIT THIS FILE - it is machine generated */#include <jni.h>/* Header for class com_oaup_core_libh264_CX264Writer */#ifndef _Included_com_oaup_core_libh264_CX264Writer#define _Included_com_oaup_core_libh264_CX264Writer#ifdef __cplusplusextern "C" {#endif/* * Class:     com_oaup_core_libh264_CX264Writer * Method:    Init * Signature: ()I */JNIEXPORT jint JNICALL Java_com_oaup_core_libh264_CX264Writer_Init  (JNIEnv *, jobject);/* * Class:     com_oaup_core_libh264_CX264Writer * Method:    getFrameSize * Signature: ()I */JNIEXPORT jint JNICALL Java_com_oaup_core_libh264_CX264Writer_getFrameSize  (JNIEnv *, jclass);#ifdef __cplusplus}#endif#endif
   

0 0