android中jni调用so静态库时候静态方法找不到?,windows下使用cmake和ndk编译android所用动态库.so和静态库.a...

博客介绍了在Android中使用JNI调用SO静态库的相关内容。包括使用Java声明native函数,在src目录下新建jni文件夹定义本地函数,头文件可用javah工具生成,还给出了头文件和cpp文件示例,简单实现将传入值加1的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用java声明个native函数:

package android.jni.test;

public class NativeClassT {

public native static int test(int value);

}

在src统计目录下新建个jni文件夹,在里边定义本地函数,头文件可以使用javah工具生成;

直接贴出来了,android_jni_test_NativeClassT.h

/* DO NOT EDIT THIS FILE - it is machine generated */

#include

/* Header for class android_jni_test_NativeClassT */

#ifndef _Included_android_jni_test_NativeClassT

#define _Included_android_jni_test_NativeClassT

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class: android_jni_test_NativeClassT

* Method: test

* Signature: (I)I

*/

JNIEXPORT jint JNICALL Java_android_jni_test_NativeClassT_test

(JNIEnv * env, jclass claszz, jint val);

#ifdef __cplusplus

}

#endif

#endif

android_jni_test_NativeClassT.cppandroid_jni_test_NativeClassT.cppandroid_jni_test_NativeClassT.cppandroid_jni_test_NativeClassT.cppandroid_jni_test_NativeClassT.cpp

#include "android_jni_test_NativeClassT.h"

JNIEXPORT jint JNICALL Java_android_jni_test_NativeClassT_test

(JNIEnv * env, jclass claszz, jint val)

{

return ++va;

}

文件名不能随便乱取,是有规律的;

写的太简单了点,就是把传过来的值+1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值