Articles of jni

jmethodID был NULL для метода с Kotlin

Я использую собственную библиотеку и имею исключение ниже, хотя метод существует. У меня есть функция nativeInit, которая также экспортируется в MapController и работает так, как ожидалось. Однако метод nativeLoadScene вызывает ошибку. JNI DETECTED ERROR IN APPLICATION: jmethodID was NULL in call to CallObjectMethodV from int com.demo.lib.MyController.nativeLoadScene(long, java.lang.String, java.lang.String[]) Методы JNI JNIEXPORT jint JNICALL Java_com_demo_lib_MyController_nativeInit(JNIEnv *jniEnv, […]

Сигнал / событие AboutToQuit в Android

Я новичок в Java и Android и я исхожу из фона Qt/C++ . В Qt есть этот объект QCoreApplication который представляет все приложение и когда этот объект уничтожен, приложение умирает. В Qt есть этот сигнал на QCoreApplication который является QCoreApplication::aboutToQuit который испускается, когда приложение находится в неминуемом процессе закрытия. Это очень удобно, если вы хотите, […]

JNI GetShortArrayElements не работает с SIGSEGV SEGV_ACCERR

Я создал буфер в управляемом коде: var nativeBuffer = ShortArray(bufferSize) Это код Котлина, но в соответствии с документацией stdlib этот синтаксис является фактически оболочкой, которая возвращает short [] . Затем я хотел бы написать в этот буфер из C ++, используя JNI: JNIEXPORT void JNICALL Java_package_class_name_readNext (JNIEnv * env, jclass clazz, jshortArray javaArray) { jboolean […]

JNI: чтение и запись в прямом буфере

У меня есть небольшой метод JNI для извлечения пикселя с экрана. Этот метод получает ByteBuffer от Java и записывается на C ++ в соответствии с этим вопросом, как писать и читать из байтового буфера, переходящего из java в jni . Хотя это действительно работает, я заметил, что первый байт, который я пишу, неверен, но остальные: […]

Собственный интерфейс Kotlin

Использует ли Kotlin ту же самую встроенную реализацию интерфейса, что и Java под капотом? Является ли он эффективным (или неэффективным), как в Java (стоимость передачи объектов, потоки байтов и т. Д.)?

Отладчик Android Studio не работает при использовании поддержки на C ++

Я не могу отлаживать свои Java- классы или файлы Kotlin , все точки останова имеют подпись «x», но она работает для файлов класса cpp я использую Android Studio версии 2.2.2 Версия ОС MacOS siera 10.12 Gradle версия 2.2.2 это мой файл Module Build.gradle apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion […]

Является ли Kotlin / Native полезным для себя?

Является ли Kotlin / Native, по сути, JTI API Kotlin? Будет ли он использоваться только для совместимости C или у него есть конструкции для записи чистого кода с Kotlin? У родных операций есть те же накладные расходы, что и JNI?

Какова цель ключевого слова `external` в Котлине?

Какова цель external ключевого слова в Котлине? Я предполагаю, что для JNI, как native на Java, но я не могу найти никакой реальной ссылки или документации по этому поводу.