Articles of Android ndk jni

Вызов в сохраненный объект Java через JNI из другого потока

У меня есть java-объект, который вызывает JNI-объект совместно с C ++. В C ++ я сохраняю ссылку на JNIEnv и jObject. JavaVM * jvm; JNIEnv * myEnv; jobject myobj; JNIEXPORT void JNICALL Java_org_api_init (JNIEnv *env, jobject jObj) { myEnv = env; myobj = jObj; } У меня также есть средство визуализации GLSurface, и в итоге […]

Как правильно использовать NDK-Build в Android Studio 2.2 Preview 1

Android Studio 2.2 Preview 1 имеет новую внешнюю конструкцию ndk, но из фрагмента app/build.gradle показанного в официальном сообщении в блоге, совсем не ясно, как установить дополнительные параметры сборки ndk, которые обычно содержат файл Application.mk Я могу установить файл сборки Android.mk ndk через externalNativeBuild , но как я могу установить требуемые переменные Application.mk ? My Application.mk […]

Нет JNI_OnLoad найдено пропущение init> Закрытие приложения

Folks, Я работаю над приложением для Android, где мне нужна сторонняя библиотека .so. Я построил эту стороннюю библиотеку (с помощью ndk-build) в соответствии с их инструкциями и затем хотел включить этот .so в свой проект Android. Поэтому я выполнил шаги, описанные в docs / PREBUILTS.html, и успешно создал новый .so в каталоге jni / prebuilt. […]

Когда использовать JNIEXPORT и JNICALL в Android NDK?

Я пытаюсь написать свои собственные источники jni. Глядя на некоторые образцы ndk, я обнаружил, что они часто используют эти макросы JNIEXPORT и JNICALL, названные именем пакета java, как это JNIEXPORT void JNICALL Java_com_example_plasma_PlasmaView_renderPlasma(JNIEnv * env, jobject obj, jobject bitmap, jlong time_ms) Я googled, но я не могу понять, когда и как использовать эти макросы

Android ICS: ошибка JNI пытается использовать устаревшую локальную ссылку 0x1

После обновления моего телефона до андроида 4.03 ics моя игра dosent open больше, он просто закрывается без ошибок messege на deviCe и с этим на eclipse 04-02 16:55:27.672: E/dalvikvm(26884): JNI ERROR (app bug): attempt to use stale local reference 0x1 04-02 16:55:27.672: E/dalvikvm(26884): VM aborting Моя игра в основном написана в java, но некоторые части […]

Как настроить множественные архитектуры с помощью NDK?

Задний план Недавно я начал разрабатывать код с использованием NDK, и я подумал о возможной проблеме переносимости, которая может возникнуть при разработке с использованием NDK. Проблема Поскольку NDK использует собственный код, его необходимо скомпилировать для каждой архитектуры процессора. Это проблема, поскольку пользователю необходимо запустить приложение независимо от того, какой процессор имеет устройство. Возможные решения, которые […]

Android NDK / JNI – неопределенная ссылка на функцию, определенную в пользовательском файле заголовка

Используя JNI, я пытаюсь написать собственный C ++-метод для Android NDK, который делает вызов функции C, определенной в пользовательском файле заголовка. Тем не менее, я получаю неопределенную опорную ошибку для вызова функции C. Вот мой код на C ++, который вызывает вызов функции C и возвращает его результат в Java как jstring: #include <jni.h> #include […]

Ошибка libusb_open_device_with_vid_pid при попытке доступа к USB-устройству

Я пытаюсь получить USB-устройство для подключения к устройству Android 5.1.1. Раньше я использовал обычный libusb для KitKat, но Lollipop увеличил безопасность, и это больше не работает. Это хорошо документировано, требуя от root установить уровень SELinux. Я не хочу запускать устройство, чтобы подключить USB-устройство к нему. Осмотревшись, я наткнулся на этот ответ, и я пробовал эту […]

Простой проект ndk с использованием библиотеки Eigen и jni

Так что сегодня с некоторой помощью от людей здесь я собрал простое приложение для Android, которое использует ndk. Я импортировал собственную библиотеку прямо в папку jni, которую я создал в исходном дереве, а затем с помощью cygwin я смог скомпилировать проект. Это источник, поэтому другие люди, пытающиеся изучить основы jni, передавая данные взад и вперед […]

Как удалить встроенную поддержку проекта Android в eclipse, потому что eclipse показывает ошибки в jni?

Я случайно нажал кнопку «Добавить коренную поддержку» в «Инструменты Android» … Это испортило все jni-файлы моего проекта. Как мне отменить это? Как удалить коренную поддержку из моего Android-проекта?