没有合适的资源?快使用搜索试试~ 我知道了~
Android使用jni调用c++/c方法详解
2 下载量 53 浏览量
2021-01-20
10:09:00
上传
评论
收藏 102KB PDF 举报
温馨提示
试读
2页
1、下载ndk 2、编写jni的加载类 参考例子: public class JniTest { public native String append(String str1, String str2); static { System.loadLibrary(JniTest); } } 以上append方法就是要调用c++/c中的方法。 JniTest是在Android.mk里约束好的,关于Android.mk的编写具体在后面详解。 3、使用javah -jni生成.h文件 编写好jni加载类之后,就要开始生成.h文件了,此文件相当于一个声明文件,起到jni连接c++源
资源推荐
资源详情
资源评论
Android使用使用jni调用调用c++/c方法详解方法详解
1、下载、下载ndk
2、编写、编写jni的加载类的加载类
参考例子:
public class JniTest {
public native String append(String str1, String str2);
static {
System.loadLibrary("JniTest");
}
}
以上append方法就是要调用c++/c中的方法。
JniTest是在Android.mk里约束好的,关于Android.mk的编写具体在后面详解。
3、使用、使用javah -jni生成生成.h文件文件
编写好jni加载类之后,就要开始生成.h文件了,此文件相当于一个声明文件,起到jni连接c++源代码的桥梁作用(我猜的)。
具体步骤:
part1:编译项目,生成.class文件,打开android studio 的Terminal工具,cd 到app/build/intermediates/classes/debug目录
下,输入命令
javah -jni 包名.JniTest
part2:然后你会看到app/build/intermediates/classes/debug目录下多出了一个(包名_JniTest.h)文件,将其拷贝到
app/src/main/jni目录下,这一步就算完成了。
4、准备好、准备好c/c++源代码文件源代码文件
参考例子:
#include <jni.h>
#include <malloc.h>
#include <string.h>
JNIEXPORT jstring JNICALL Java_com_dengdeng_dengdeng_test_JniTest_append
(JNIEnv * env, jobject obj, jstring jstr1, jstring jstr2){
const char *str1,*str2;
char *result;
int len1,len2;
jstring jresult;
str1 = (*env)->GetStringUTFChars(env,jstr1,NULL);
str2 = (*env)->GetStringUTFChars(env,jstr2,NULL);
len1 = strlen(str1);
资源评论
weixin_38606300
- 粉丝: 4
- 资源: 829
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功