Articles of jni

Ошибка android динамически загружает libc ++. Поэтому родная библиотека

Я пытаюсь создать доказательство концепции Android-приложения, которое использует код OpenSSH для установки сеанса SSH с сервером. Для этого я использую источники android для создания необходимых библиотек, а затем вытаскиваю их в собственный проект AndroidStudio, где все должно быть упаковано и установлено на устройстве. Однако одна из библиотек (libc ++. So) не загружается динамически на устройстве […]

Можете ли вы поймать ошибку JNI в сторонней библиотеке перед серьезным сбоем?

Мы работаем над Android-приложением. Мы используем библиотеку Chilkat для обработки электронной почты, и она работает хорошо. Хотя, может быть, «проблема» связана с некоторыми сообщениями JNI. Из интернет-исследований и обсуждения с Chilkat проблема может быть связана с тем, как EMOJI обрабатываются в сообщениях. Периодически мы получаем сообщение об ошибке, из-за которой происходит сбой приложения, и он […]

Не может найти символ «__android_log_write» – ведение журнала на базе Android

Я пытаюсь записать некоторую информацию из моего собственного кода в logcat, но я не могу заставить его работать. Я искал все stackoverflow (и другие сайты). В моем родном коде я #include <android/log.h> . Он полностью компилируется без ошибок. Если я вообще не использую ведение журнала, мой собственный код работает в android. Мой Android.mk: LOCAL_PATH := […]

Android подписывает конфиги и конфликтует с расколами abi

У меня есть проект, который использует jni библиотеку. Для этого у меня есть эти настройки в моем файле gradle чтобы разбить apks на основе их платформы (и она работает нормально): applicationVariants.all { variant -> variant.outputs.each { output -> output.properties.put(signingConfig, signingConfigs.config) output.versionCodeOverride = versionCodes.get(output.getFilter( com.android.build.OutputFile.ABI), 0) * 10000000 + android.defaultConfig.versionCode } } splits { abi { […]

Передача объекта Java на C ++ через JNI, а затем обратно в Java через void *

У меня есть приложение для Android, в котором используются как React Native, так и JNI. C ++ (через вилку библиотеки JUCE) используется для создания одного из представлений. React Native требует, чтобы новый экземпляр представления возвращался из переопределенного метода createViewInstance(context) . Кажется, что это вызвано каждый раз, когда обновляемый компонент React Native, содержащий это представление, обновляется. […]

Как передать переменную между Java и C в android JNI?

Есть ли способ совместно использовать встроенную переменную C мгновенно с Java в android JNI? Я хочу получать данные с уровня C на клиенте, так как сервер написан на C ++ (при включенном структурированном чтении / записи), и записывает ситуацию, связанную с данными в переменной массива, и хочет определить эту переменную в Java и делать то, […]

Не удается записать файл в эмулятор Android.

описание проблемы Я пишу приложение для Android и использую собственный код, и тестирую его на Android-эмуляторе . Чтобы узнать, что происходит в коде JNI, я создаю файл в папке Android / data / LogTest / и записываю в него информацию журнала. FILE * pFile; pFile = fopen ("/data/LogTest/Log.txt"", "w"); // …. // Write some logs […]

Лучший выбор для представления видео для iOS и Android

Я разрабатываю приложение для iOS и Android для видеозвонка между двумя устройствами. Идея состоит в том, чтобы разработать одну библиотеку c ++ для обеих платформ, а также интегрировать компоненты коммуникации и отображения таким же образом. По соображениям совместимости я использую OpenGL для представления видео, а FFMPEG – для кодирования общения, но в некоторых других вопросах […]

Weird: не может изменить значение Integer в jni

Я пишу jni-функцию, чтобы установить значение двух объектов Java Integer в C, как это: jni_do_something(JNIEnv *env, jobject thiz, jobject p1, jobject p2) { jclass c; jfieldID id; c = env->FindClass("java/lang/Integer"); if (c==NULL) { LOGD("FindClass failed"); return -1; } id = env->GetFieldID(c, "value", "I"); if (id==NULL) { LOGD("GetFiledID failed"); return -1; } env->SetIntField(p1, id, 5); env->SetIntField(p2, […]

Android ffmpeg простая обертка JNI

Я пытаюсь использовать двоичный файл ffmpeg с доступом к командной строке какое-то время и не получаю нигде (с использованием runtime.exec). Похоже, что единственный способ, которым я смогу заставить его работать, – использовать обертку в C до Доступ к встроенным библиотекам ffmpeg с использованием JNI … Основная проблема: я не кодировал C более полутора десятилетий и […]