Описание тега java-native-interface
Собственный интерфейс Java (JNI) дает как возможность реализациям JVM запускать собственный системный код, так и возможность для собственного кода запускать код Java (путем создания новых экземпляров JVM). Наиболее распространенными целевыми языками для JNI являются C и C++, для которых, по крайней мере, реализации Sun/Oracle JDK предоставляют вспомогательные команды (javap - для дизассемблирования кода, javah для генерации кода c).
1
ответ
JNI - Слушатель в C++/Java - возможно ли создавать экземпляры объектов Java в C++ и использовать их в качестве параметров
Можно ли использовать следующее с JNI? public NativeClass { static { System.loadLibrary("dll"); } public static native void addListener(Listener listener); } public interface Listener { public void eventOccurred(Info info); } public Info { private f…
27 мар '14 в 10:27
0
ответов
Android - полностью очищает память, используемую jni
Я создаю приложение, которое обрабатывает очень большие изображения на стороне jni. И под очень большими изображениями я имею в виду, что почти все доступное ОЗУ устройств распределяется на несколько больших блоков. Проблема в том, что после выделен…
01 окт '16 в 14:21
1
ответ
Развертывание JRE через JNI: jvm.dll не предназначен для работы в Windows или [......]
Поэтому я создаю приложение Win32, которое упаковывает Java Runtime Environment (JRE) в качестве ресурса. Приложение извлекает ресурс на диск и распаковывает его. Теперь я хотел бы использовать этот JRE для запуска Java-программы с использованием AP…
28 фев '15 в 06:35
1
ответ
Обнаружить клавишу Shift вниз, используя jna
Я реализовал keyBoardHook, но, тем не менее, не могу обнаружить нажатой символ, пока клавиша Shift не нажата. Я попытался использовать функцию GetAsyncKeyState окон, чтобы определить, когда нажата клавиша Shift. Но это не обрабатывает сдвиг +2 = @. …
23 сен '11 в 05:47
0
ответов
Как преобразовать char[] в UTF8, чтобы избежать некорректной ошибки продолжения байта в JNI
Используя JNI, я передаю значения из файла в Java. Однако бывают случаи, когда возникает эта ошибка / предупреждение: JNI WARNING: illegal continuation byte 0xc0 string: '���������������������' in Lcom/package/project/parser;.getSong (Lcom/package/p…
26 июл '11 в 08:58
2
ответа
Как я могу установить значение переменной типа Double для моего класса с помощью JNI?
Если я просто хочу установить значение переменной типа Double, я могу написать код: public static native int getDoubleVar(Double dobj); JNIEXPORT jint JNICALL test_jni_Native_testGet(JNIEnv *env, jclass type, jobject dobj) { jclass DoubleClass = env…
15 янв '16 в 14:14
1
ответ
Установка привязки Java ZeroMQ (jzmq) с помощью Maven, библиотека отсутствующего исходного кода
Я пытаюсь установить jzmq, привязку Java ZeroMQ, из репозитория Maven ( http://search.maven.org/). При добавлении в качестве зависимости к моему pom.xml[1] Maven загружает основной файл jar, который, как и ожидалось, предоставляет библиотеку Java. В…
19 сен '13 в 18:29
0
ответов
Для чего нужна библиотека Java libjli?
Я использую JNI, чтобы позволить коду C разгрузить некоторую работу, лучше всего выполненную в Java. В этом вопросе я пытался связать библиотеки libjvm и libjli, чтобы мой код работал, но теперь я задаюсь вопросом, нужна ли мне вообще библиотека JLI…
29 июн '18 в 13:20
1
ответ
Android JNI - загрузка файла предиктора формы dlib
В обычном проекте Visual Studio C++ я использую следующий код для загрузки файла предиктора формы в переменную dlib shape_predictor: dlib::shape_predictor spredictor; //calling the file with a relative path dlib::deserialize("sp68fl.dat") >> s…
02 окт '18 в 14:26
0
ответов
В SO-файлах отказано в доступе
Невозможно инициализировать файлы *.so, расположенные в моей папке libs. В LogCat отображается ошибка "Отказано в доступе". Ошибка: E/art (17495): dlopen("/data/data/XXXXX/files/libs/XXXX.so", RTLD_LAZY) failed: dlopen failed: couldn't map "/data/da…
08 мар '17 в 11:15
1
ответ
Как конфертировать из yv12 в yuv420p
В кадре предварительного просмотра камеры я получаю данные в формате yv12 на стороне Android. Мне нужно конвертировать его в YUV420P на стороне jni. Как мне это сделать? Как я прочитал из многих источников в формате YUV420P, сначала появляется сэмпл…
06 май '13 в 05:35
9
ответов
Как мне конвертировать jstring в wchar_t *
Допустим, что на стороне C++ моя функция принимает переменную типа jstring названный myString, Я могу преобразовать его в строку ANSI следующим образом: const char* ansiString = env->GetStringUTFChars(myString, 0); есть ли способ получить const w…
15 сен '08 в 23:51
3
ответа
Android NDK: нет таблицы символов архива (запустите ranlib)
Я обновляю свои проекты, чтобы использовать Android ndk 16b, и ранее он использовал 12b (работал нормально). После обновления я сталкиваюсь со следующей ошибкой при сборке финального.so: /Users/ssk/code/client/git/thirdparty/android-ndk-r16b/android…
19 сен '18 в 03:05
1
ответ
Android - получить кадры из MediaPlayer, играющего на SurfaceView, для передачи их в собственный код C++
Как описано в заголовке, я пытаюсь получить MediaPlayer кадры (во время воспроизведения) и передать их в мой собственный код C++ (используя JNI). Итак, я использую MediaPlayer а также "setDisplay(SurfaceView)"метод рисования видео пикселей на Surfac…
02 апр '14 в 10:36
0
ответов
Сбой приложения при попытке загрузить System.loadLibrary("loader-jni")
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.forsale.forsale-2/base.apk"],nativeLibraryDirectories=[/data/app/com.forsale.forsale-2/lib/arm64, /data/app/com.forsale.forsale-2/base.apk!/lib/arm64-…
15 янв '19 в 16:08
0
ответов
Построение ошибки: у depfile есть несколько путей вывода ниндзя: сборка остановлена: подкоманда не выполнена
Я получил эту ошибку при создании проекта Java с кодом JNI, который нуждается в поддержке CMake. Этот проект построен на базе Android Studio, с поддержкой NDK, CMake и LLVM. Это флаги ниже, которые использует CMake. Я на самом деле использовал код C…
07 фев '19 в 09:20
0
ответов
Обертка FFmpeg для Android
Мне удается скомпилировать ffmpeg и получить .so файлы для разных арок, таких как amreabi, armeabi-v7a и т. д. Мне удалось интегрировать эти готовые библиотеки в мой проект Android с помощью CMakeLists.txt через собственный .cpp обертка. Проблема в …
23 фев '19 в 11:29
3
ответа
JNI GetMethodID не работает для конструктора внутреннего класса
У меня есть класс с частным подклассом. Я хочу создать экземпляр этого подкласса в оболочке JNI и вернуть его. Я гуглил и пытался заставить это работать, но безуспешно (methodID является нулем). Какие-либо предложения? JNIEXPORT jobject JNICALL Java…
18 авг '14 в 12:13
3
ответа
OpenCV как глобальный модуль JBoss-as
Представление проблемы Я пытаюсь установить OpenCV как глобальный модуль экземпляра JBoss-as. Версии: JBoss-as: 7.1.1 Финал OpenCV: 2.4.5 (скомпилировано с поддержкой Java) Я начал с новой установки Ubuntu Server 12.04 64 бит с только JBoss-as и Ope…
23 апр '13 в 15:27
0
ответов
Как сделать доступным libgthread-2.0.so.0 внутри Docker Container
Я пытаюсь загрузить нативную библиотеку JNI внутри приложения весенней загрузки. Она прекрасно загружается, когда я запускаю ее из eclipse, предоставляя -Djava.library.path={path_to_mynativelib}, как аргумент VM, но когда я пытаюсь запустить приложе…
25 окт '18 в 06:54