JNI ПРЕДУПРЕЖДЕНИЕ: у jclass arg неправильный тип (ожидается Ljava / lang / Class ;, получил Lcom / my / app / MyClass;)
в Lcom / my / app / MyClass; .myMethod :() V (SetStaticIntField)
Это мой код
static jclass myObject = NULL;
static BOOL init(JNIEnv *env)
{
jclass* localClass = (*env)->FindClass(env, "com/my/app/MyClass");
myObject = (jclass*)(*env)->NewGlobalRef(env, localClass);
}
JNIEXPORT void JNICALL Java_com_my_app_MyClass_myMethod(JNIEnv *env, jobject obj)
{
int position = getPosition(); /* the value is set at 1*/
(*env)->SetStaticIntField(env, obj, position_field_id, position);
}
Мое приложение отлично работает в Android 2.1, 2.1, 2.3.x; но когда я использую его на Android 4.0, он падает и показывает предупреждение, о котором я упоминал в начале.
Когда я закомментирую строку, приложение запускается, но оно, вероятно, сломает что-то еще.
Попытка изменить задание на jclass, но не работает.
Спасибо за любую помощь