[Android] JNI 에서 조심해야 할 사항! (unsatisfiedlinkerror)



광고 한번만 클릭 부탁드립니다^^
위에 냐옹이 말구~ 위에 배너요~^_^/ 


포스팅을 보시는 분들을 위해 노력 하는 블로거를 위하여! 부탁드립니다. 재미 삼아 포스팅을 정리하지만, 광고를 달아보았습니다. 얼마나 열심히 할 수 있을지...의문이지만요^^ 

Subject [Android] JNI 에서 조심해야 할 사항! (unsatisfiedlinkerror)

최종수정일 : 2012.01.18

안녕하세요~^^
JNI 를 사용하면서. 정작 5시간동안 하나의 오류를 가지고 삽질 했네요...ㅜㅜㅜㅜㅜ
왕창피.. 말못함.  


by 퓨림노

글을 작성하겠습니다.

일단! 에러가 난 부분!
스샷은 못찍었습니다.

하지만

1. JNI (NDK) 를 이용하여 컴파일!
2. java 에서 native code 를 호출
3. 여기서 에러! ( unsatisfiedlinkerror ) 가 발생하면서 생성한 함수를 찾을 수 없다고 나온다. 

 그래서...문법에도 문제가 없다. 
Java 에서 선언한 곳에서도 문제가 없다.
그리고 space(" ") 으로 인한, 글자 체계와 관련된 문제도 없다. <-- 흔하게 일어남. (Android.mk) 파일에서...

마지막에.... 이전에 있던 파일을 하나씩 추가추가 하면서. 한단계식 밟아가는 과정중에...

이런 문제가 보였다.

기존 코드(Original)

extern "C" {
  JNIEXPORT

void JNICALL Java_vr_knu_ac_kr_FeatureTracking_FindFeatures

  ( JNIEnv *env,

jobject obj,

jint width,

jint height,

jbyteArray yuv,

jintArray rgba,

jintArray xary,

jintArray yary,

jintArray PosX,

jintArray PosY,

jdoubleArray RT )
{
   ....

 



잘못된 코드(my code???? )

  JNIEXPORT

void JNICALL Java_vr_knu_ac_kr_FeatureTracking_FindFeatures

  ( JNIEnv *env,

jobject obj,

jint width,

jint height,

jbyteArray yuv,

jintArray rgba,

jintArray xary,

jintArray yary,

jintArray PosX,

jintArray PosY,

jdoubleArray RT )
{
   ....


 
C코드라고 명시를 해주는 부분이 빠져있다. ...


물론. 소스코드를 수정함에 있어서, synchronized 부분 을 잘못사용하여서 죽은 것도 있지만....
갈길이 멀다 ? 라고 표현하는게 이런 때 쓰는 거군!

뭐 그래도 =+=/ 후딱 끝내자.  

'Mobile > android' 카테고리의 다른 글

[Android,OpenGL,Java] Quaternion to Euler  (0) 2012.04.16
[android] JSON parsing  (0) 2012.02.21
Easy logging switch between debug/release versions  (0) 2012.01.17
[Android] AssetManager  (0) 2012.01.16
[android openAL] OpenAL 정리  (0) 2012.01.15

댓글

Designed by JB FACTORY