java.lang.UnsatisfiedLinkError:未找到实现
java.lang.UnsatisfiedLinkError: No implementation found?
我正在尝试学习在android工作室中使用本机代码。但是,当我尝试调用返回整数值并将其传递给我的 java 类的本机函数时,我遇到了错误。我收到此错误java.lang.UnsatisfiedLinkError: 找不到 int com.mobi.MainActivity.randomintFromJNI(( 的实现(已尝试Java_com_mobi_MainActivity_randomintFromJNI(我可能做错了什么?
package com.mobi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Example of a call to a native method
TextView tv = (TextView) findViewById(R.id.sample_text);
tv.setText(Integer.toString(randomintFromJNI()));
}
/**
* A native method that is implemented by the 'native-lib' native library,
* which is packaged with this application.
*/
public native String stringFromJNI();
public native static int randomintFromJNI();
}
c++
#include <jni.h>
#include <string>
#include <cstdlib>
using namespace std;
extern "C"
JNIEXPORT jstring
JNICALL
Java_com_mobi_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
JNIEXPORT jint
JNICALL
Java_com_mobi_MainActivity_randomintFromJNI(
JNIEnv *env,
jobject /* this */) {
int val = rand()*100;
return val;
}
你在Java_com_mobi_MainActivity_randomintFromJNI上缺少一个外部"C">
相关文章:
- 如果没有malloc,链表实现将失败
- 如何在c++中实现处理器调度模拟器
- 如何在c++中使用引用实现类似python的行为
- 实现无开销push_back的最佳方法是什么
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- 实现一个在集合上迭代的模板函数
- 我应该实现右值推送功能吗?我应该使用std::move吗
- 如何正确实现和访问运算符的各种自定义枚举器
- C++Union/Struct位域的实现和可移植性
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 在c++中实现LinkedList时,应出现未处理的错误
- 为左值和右值的包装器实现C++范围
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- 使用GSoap实现ONVIF
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 用于AVX的ln(x)的实现,m256
- 用常见虚拟函数实现的任意组合来实现派生类的正确方法是什么
- 在C++中,如何在类和函数(可能是模板化的)的头中编写完整的实现
- java.lang.UnsatisfiedLinkError:未找到实现