art_sigsegv_fault при вводе функции JNI в коде C в Android Studio - PullRequest
0 голосов
/ 30 января 2019

Я использую Kotlin и JNI, поскольку я пытаюсь перенести программу на C на Android, и мне интересно, почему в настоящее время я получаю «art_sigsegv_fault», как только достигается точка останова функции JNI.

Код Котлина:

import com.root.Main

class SettingsScreenActivity : AppCompatActivity() {

    private val MainC = Main()

    fun startButton(view: View)
        MainC.callMainFromJNI("test")
    }
}

MainC.c

JNIEXPORT void JNICALL Java_com_root_hping2_Main_callMainFromJNI(JNIEnv *env, jobject pThis, jstring argument){

    printf("Size of char: %ld byte\n",sizeof(char));
    return;
}

Точка останова находится на printf, однако, когда я иду к отладке, я получаю ошибку "art_sigsegv_fault" и яЯ не могу видеть ни одно из значений параметров.Это в Android Studio

РЕДАКТИРОВАТЬ: Когда я удаляю аргумент jstring и не передаю строку в функцию, она работает правильно.Какова будет причина этого?

1 Ответ

0 голосов
/ 28 февраля 2019

Ответ находится в пределах: Различное поведение проектов Native C ++ для Android при использовании Java и Kotlin в качестве базового языка

Это выглядит как ошибка, связанная с эмулятором API и используемой версией.используемый.Если версия понижена до API 25, проблем нет.Кроме того, если приложение построено на устройстве, а не на эмуляторе, это поможет.

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