Articles of jni

Android-ndk Добавление статических библиотек в android.mk

У меня есть три статических библиотеки из фреймворка, которые я хочу использовать в моем проекте. Эти библиотеки называются libtinySAK_armv7-aa, libtinyNET_armv7-aa and libtinyHTTP_armv7-aa . Я поместил их в ту же папку, что и Android.mk и Application.mk . Мой родной код зависит от них, поэтому я хочу включить их в свою общую библиотеку. Из того, что я […]

Android – Calling System.loadLibrary () заставляет процесс умереть

Я решил портировать игру, в которой используются библиотеки SDL и сильно использует C ++ и STL, для Android. Мне удалось собрать все необходимые библиотеки, а также все исходные файлы для игры. Моя проблема заключается в том, что когда я вызываю System.loadLibrary (), чтобы загрузить .so для игры, приложение сразу же падает с «Процесс org.libsdl.app (pid […]

Подключение библиотеки C к iOS-приложению

Я надеюсь, что есть кто-то, кто может помочь мне в следующем. В настоящее время у меня есть приложение для Android, которое связано с библиотекой C с использованием JNI. Теперь я хотел бы подключить свое приложение iOS к той же библиотеке C, но как я могу назвать функции и как я могу получить доступ к интерфейсам […]

Java.lang.UnsatisfiedLinkError: собственный метод не найден: ошибка в jni ()

Я пытаюсь сделать добавление двух 2D-массивов с использованием jni с активностью android. В классе основной активности android я создаю объект класса sample.java. И передайте поле экземпляра класса образца в собственный код для добавления. Sample.java следующим образом package com.cdacb.mars.ntvoperation; public class Sample { public int[][] array1; public int[][] array2; public int[][] array3; } Определение для собственного […]

Обфускация JNI proguard

У меня проблема с запутыванием. Для лучшего воображения: КОД JAVA class JniTest… public void test() { //some code } public void runJniCode() { //here I call native code } НАЦИОНАЛЬНЫЙ КОД JNIEXPORT void JNICALL Java_path_to_class_test(JNIEnv* env, jobject obj) { //here I call test method from Java } Все работает нормально, пока я не хочу выпустить […]

Каков правильный способ использования v8 :: Locker и почему я должен его использовать?

Я пытаюсь внедрить v8 в приложение для Android, используя NDK. У меня есть модуль JNI, который выглядит примерно так (код отображения JNI не показан): #include <jni.h> #include <android/log.h> #include <v8.h> using namespace v8; static jlong getMagicNumber() { HandleScope handle_scope; Persistent<Context> context = Context::New(); Context::Scope context_scope(context); Handle<String> source = String::New("40 + 2"); Handle<Script> script = Script::Compile(source); […]

JNI_OnLoad возвратил неверную версию (-1)

Я пытаюсь загрузить библиотеку Qt5Core в приложение для Android, и я получаю следующее: JNI_OnLoad returned bad version (-1) in /data/data/com.xxx.yyy/lib/libQt5Core.so 0x41a8f3c0 Failed to load library : Qt5Core due to link error unknown failure java.lang.UnsatisfiedLinkError: unknown failure at java.lang.Runtime.loadLibrary(Runtime.java:370) Вот как я пытаюсь загрузить его: System.loadLibrary (ы); Где «s» – это массив, содержащий несколько имен библиотек. […]

Как получить доступ к ресурсам (например, звук, изображения и т. Д.) Непосредственно из собственного кода с помощью Android-NDK?

Я хочу знать, как я могу напрямую обращаться к ресурсам, таким как изображения, звуковые файлы и т. Д. Из собственного кода, то есть файлов C ++. На самом деле я ищу любой пример, который мог бы помочь мне использовать методы asset_manager_jni.h. Ищите предложения. Заранее спасибо. С уважением, Атул Пракаш Сингх

Как Surface обрабатывает сборку мусора после его отправки на Android?

Я использую исходный код для Surface.java в качестве ссылки для этого вопроса. Поверхность реализует интерфейс Parcelable, а также содержит дескриптор объекта с внутренней стороны. Мне интересно узнать, как обрабатывается сбор мусора в этом случае: A Поверхность (A) создается и записывается в Посылку. После этого никаких ссылок на него нет. Копия оригинальной поверхности (B) считывается с […]

Как правильно передать файл FileDescriptor в FFmpeg с помощью JNI на Android

Я пытаюсь получить метаданные в Android, используя FFmpeg, JNI и Java FileDescriptor, и он не работает. Я знаю, что FFmpeg поддерживает протокол протокола, поэтому я пытаюсь создать эмуляцию: « cat test.mp3 | ffmpeg i pipe:0 » программно. Я использую следующий код, чтобы получить FileDescriptor из актива, связанного с приложением Android: FileDescriptor fd = getContext().getAssets().openFd("test.mp3").getFileDescriptor(); setDataSource(fd, […]