Android NDK - невозможно использовать jstring, продолжает падать - PullRequest
3 голосов
/ 27 марта 2012

Последние два дня я потратил на проблему JNI, и это сводит меня с ума ... Я просто пытаюсь сделать:

  SWIGEXPORT void JNICALL Java_com_my_package_CM_1CoreJNI_CM_1Property_1name_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
    const char *arg2 = (*jenv)->GetStringUTFChars(jenv, jarg2, 0);
    ....
}

Я вызываю эту функцию через JAR, и она сохраняетсбой.Все, что я могу прочитать из моего LogCat:

03-27 12:44:29.162: E/dalvikvm(1599): JNI ERROR (app bug): accessed stale weak global reference 0x4080f657 (index 15765 in a table of size 0)
03-27 12:44:29.172: W/dalvikvm(1599): JNI WARNING: jstring is an invalid weak global reference (0x4080f657)
03-27 12:44:29.172: W/dalvikvm(1599):              in Lcom/my/package/CM_CoreJNI;.CM_Property_name_set:(JLjava/lang/String;)V (GetStringUTFChars)

После долгих исследований я попытался вызвать эту функцию непосредственно из своей деятельности (добавив собственный набор void ...) и работал нормально!Я заблокирован и не знаю, как это сделать ...

Удалось ли кому-нибудь успешно вызвать JNI из JAR?

РЕДАКТИРОВАТЬ: исправлено путем удаления банки и добавления.Java-файлы ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...