GB버젼으로 개발한 제 어플을 ICS에서 구현하고 있는데요...아래 문제 때문에 실행이 안되네요..

 

50:14.610 E/AndroidRuntime( 7022): Caused by: java.lang.NoSuchFieldError: no field with name='mNativeSurface' signature='I' in class Landroid/XXXX/XXXX;

 

이 에러가 발생하는데요..문제는 구현을 제대로 했다는 겁니다..참고로 같은 api를 쓰는 다른 ICS용 어플은 이 문제가 발생하지 않는다는 점입니다..

 

JNI에서 변수의 fieldid를 얻는 부분이라 GB이냐 ICS이냐가 상관없는 부분 같은데 왜 발생하는 걸까요?

clazz = env->FindClass("android/XXXX/XXXX");

fields.surface = env->GetFieldID(clazz, "mXXX", "I");

fields.post_event_for_channelscan = env->GetStaticMethodID(~~~~); 

fields.post_event_for_channelscan = env->GetStaticMethodID(~~~~);

fields.surface = env->GetFieldID(clazz, "mNativeSurface", "I"); ============>여기서 에러 발생

 

이 부분에서 발생하는데 이유를 모르겠네요..위에 getfieldid는 잘 실행이 됐는데 왜 아래 getfieldid는 실행이 잘 안될까요?