![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jni
super码王
一直在努力,从未放弃!!!
展开
-
No implementation found for void com.wust.testjni10.CallJava.callPrintString()
问题描述当你看到这篇文章的时候,说明你会jni了,并且还在调用 .so 库,可问题就出在调用的时候报了这么个错No implementation found for void com.wust.testjni10.CallJava.callPrintString()问题原因你的 .so 文件中那个 Java_包名_类名_方法名,与你现在写的不一样解决方法按照你的 .so 库 修改你的包名和类名即可...原创 2021-04-03 15:05:23 · 465 阅读 · 0 评论 -
如何利用jni实现C调java
实现原理原理其实很简单,就是利用了反射。实现步骤第一步:新建一个 JNI 类(名字可以自己随便取)第二步:native 方法的编写package com.wust.ccallj;public class cCallJava { public native void callPrintString(); public void printString(String s){ System.out.println("我被C语言调用了,原创 2021-04-03 13:57:32 · 454 阅读 · 0 评论 -
jni中如何查看函数签名
操作步骤第一步:找到 build 文件夹第二步:找到 javac 文件夹第三步:找到自己写的 xxx.class文件第四步:右键 xxx.class 文件,在 Terminal 中打开第五步:执行 javap -s xxx.class第六步:可以产看签名了...原创 2021-04-03 11:32:38 · 476 阅读 · 0 评论 -
JNI开发中在C代码中打印日志
实现步骤第一步:在 app 下的 build.gradle 添加配置 ndk{ ldLibs "log" }第二步: 在cpp文件中添加代码#include <android/log.h>#define LOG_TAG "YIQI"#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)#define LOGI(.原创 2021-04-03 10:24:12 · 510 阅读 · 0 评论 -
jni入门级别教程
前提条件笔者假想着:能看到这篇博客的读者 NDK环境 已经配置好了哈开发步骤第一步:新建工程工程建完之后在真机或模拟器上运行一遍,确保工程建的没问题第二步:配置NDK第三步:在Java中添加 native 函数 并 调用我们这里就借助MainActivity 来写一个 native 函数并调用package com.wust.jnitest3;import androidx.appcompat.app.AppCompatActivity.原创 2021-04-01 23:00:12 · 352 阅读 · 0 评论