jni开发之头文件的生成

        本文主要是针对android开发过程中需要jni调用so库场景下写的,有错误的地方可以指正,共同进步。

        jni没有用过,网上查了一些资料,重点都在于一个字,“转”。调用c/c++需要将常用基本类型进行转换,需要将c/c++中自定义的类或者结构体转成java的类(这里的转不是有转换方法,而是自己定义相同性质的类)。

       第一步:编写jni接口类:

                    固定格式:public static native type mehtod(type parame);

                    在编写的时候,有些类型是找不到的,需要我们自定义c/c++中相同的类。

      第二步:生成c/c++头文件

                   在编译后的目录下,即工程目录的\bin\classes目录下执行命令  javah packagename.类名                               (com.example.JniExample)。

     或者classes目录下生成一个com_example_JniExample.h文件。看看内容:

   /* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_andin_edss_jni_JniEdssFile */

#ifndef _Included_com_andin_edss_jni_JniEdssFile
#define _Included_com_andin_edss_jni_JniEdssFile
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_example_JniExample
 * Method:    方法名
 * Signature: 参数类型
 */
JNIEXPORT jboolean JNICALL Java_com_andin_edss_jni_JniEdssFile_Edss_1IsDcf
  (JNIEnv *, jclass, jstring);


       第三步:根据.h文件中的定义,写实现方法。

转载于:https://my.oschina.net/aowu/blog/96569

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值