2
자바 코드를 찾을 수 없습니다 :안드로이드 NDK는 기본 기능을
package com.example.maxim.myapplication;
//...
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = new TextView(this);
tv.setText(stringFromJNI());
setContentView(tv);
}
public native String stringFromJNI();
static {
System.loadLibrary("hello-jni");
}
}
C 코드 :
#include <string.h>
#include <jni.h>
jstring Java_com_example_maxim_myapplication_MainActivity_stringFromJNI(JNIEnv* env,
jobject thiz)
{
return (*env)->NewStringUTF(env, "Hello from JNI ! Compiled with ABI .");
}
로그 캣 출력 :
Process: com.example.maxim.myapplication, PID: 2306
java.lang.UnsatisfiedLinkError: No implementation found for java.lang.String com.example.maxim.myapplication.MainActivity.stringFromJNI() (tried Java_com_example_maxim_myapplication_MainActivity_stringFromJNI and Java_com_example_maxim_myapplication_MainActivity_stringFromJNI__)
at com.example.maxim.myapplication.MainActivity.stringFromJNI(Native Method)
....
패키지 이름은 이름과 동일 함수의 이름이지만 오류가 있습니다. 패키지 이름은 함수의 이름과 같지만 오류는
입니다 또한 확인 할 -
에 당신의
so
디버그logcat
추가 동일한 오류 이러한 경우 @Hemul는, 실제로 그렇게 메소드 구현이로드되고이 포함 된 객체 있는지 확인 – Hemul(15 문자) 대답에 대한 내 편집보기 –