先上代码:package com.example.testndk;import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;public class MainActivity extends Activity {    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView tv=new TextView(this);
        tv.setText(stringFromJNI());
        setContentView(tv);
    }
    
    public native String  stringFromJNI();
    
    static {
        System.loadLibrary("hello-jni");
    }
    
}#include <string.h>
#include <jni.h>jstring
Java_com_example_testndk_TestNDK_stringFromJNI( JNIEnv* env,jobject thiz )
{
    return (*env)->NewStringUTF(env, "Hello from JNI !");
}
请问大家我的代码错在哪了  运行的时候报异常crashjava.lang.UnsatisfiedLinkError: stringFromJNI求解答 万分感谢

解决方案 »

  1. 代码没有错 楼主编译好so包之后 右键refresh下工程
      

  2. refresh无数次了  我还看了apk里面也有so文件    装完apk之后手机里面也有so文件   现在好像加载so文件没问题  问题好像是找不到方法   
      

  3. 难道不需要声明native方法的那个文件么?
      

  4. 你的package是com.example.testndk;
    你的jni方法名应该是Java_com_example_testndk_MainActivity_stringFromJNI吧?
      


  5. 应该是要看native方法声明到哪里的才对吧
    还有亲,cocos2dx建立工程那个阿
      

类似问题 »