jni/ndk问题 :引用so库报错: java.lang.UnsatisfiedLinkError: No implementation found for
Posted Mars-xq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jni/ndk问题 :引用so库报错: java.lang.UnsatisfiedLinkError: No implementation found for相关的知识,希望对你有一定的参考价值。
问题:
引用so库报错:
java.lang.UnsatisfiedLinkError:
No implementation found for
java.lang.String com.example.mynativec.MainActivity2.stringFromJNI()
(tried
Java_com_example_mynativec_MainActivity2_stringFromJNI
and
Java_com_example_mynativec_MainActivity2_stringFromJNI__)
分析解决
首先需要知道so库里c/c++方法名,比如我这里是 Java_com_example_mynativec_MainActivity_stringFromJNI
com.example.mynativec
: 包名MainActivity
: 类名stringFromJNI
: 方法名
在自己项目中也需要创建同样包名 、类名和方法名
//相同包名
package com.example.mynativec;
//相同类名
public class MainActivity {
//相同方法名
public native String stringFromJNI();
static {
//so库文件 = [ lib + so库名 ].so ,lib开头不可少,
//这里load的是 so库名
System.loadLibrary("native-lib");
}
}
以上是关于jni/ndk问题 :引用so库报错: java.lang.UnsatisfiedLinkError: No implementation found for的主要内容,如果未能解决你的问题,请参考以下文章
Couldn't load libPassword from loader:NDK开发中C文件编译成cpu的so类库时,找不到类库报错的原因之一