Articles of андроид NDK

Android NDK. Раздел C / C ++ в свойствах проекта Eclipse

Я пытаюсь выполнить инструкции, указанные здесь, для установки OpenCV для Wlipse. В инструкциях указано: Откройте Свойства проекта -> C / C ++ Build и замените текст «Build command» на «$ {NDKROOT} / ndk-build» Однако, если я открою свои свойства проекта, у меня нет секции C / C ++. Я использую Android SDK ADT Bundle для […]

Android Static Initialization opencv 3.0 Не удается загрузить библиотеку "opencv_java3"

Используя Android ADT я пытаюсь статически инициализировать openCV, поэтому он входит в состав приложения, и пользователям не нужно загружать OpenCV Manager из игрового магазина Android. Я использую openCV v3 ( http://opencv.org/downloads.html ) На этапе просто пытается добавить статическую инициализацию к одному из образцов в OpenCV-android-sdk \ samples \ face-detection. Я последовал примеру ( http://docs.opencv.org/2.4/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html ) […]

Как правильно передать файл 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, […]

Получите полный ввод unicode в Android в C / C ++

(Android, NDK, C ++, OpenGL ES) Мне нужен способ надежно получать текстовый ввод с (мягкой) клавиатуры. Решение может быть через Java, используя подкласс NativeActivity или что-нибудь, что работает. В конце мне нужен любой текст, который я набираю, поэтому я могу сделать его сам с OpenGL Некоторые предпосылки: до сих пор я запускал мягкую клавиатуру, вызывая […]

Удаление C-стиля в C ++-коде под Android

Я видел этот пост на SO: есть ли способ отключить старые стили стиля c в c ++ и был рад применить -Wold-style-cast к моему коду Android C ++. Я быстро наткнулся на следующие броски в stdio.h : static __inline int __sputc(int _c, FILE *_p) { if (–_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c […]

Перенос программы C на Android NDK

Я начинаю с C / C ++ и Android NDK, и у меня есть проблема с созданием родной библиотеки. Мой код компилируется с использованием MinGW на CDT, но когда я пишу тот же код в файле JNI, возникает ошибка. Мой код: int n = 7; int positions[n]; int final_order[n]; memcpy(positions, final_order,sizeof(final_order)); Плагин показывает мне: Invalid […]

Android JNI получает два поля из класса Java

Прежде чем опубликовать какой-либо код или что-нибудь еще, позвольте мне объяснить, что я пытаюсь выполнить: то, что я пытаюсь сделать, это получить шейдеры загрузки из папки с ресурсами и передать массив объектов PongDroidShader на C ++, чтобы он мог компилировать и загружать их. В моем классе Java у меня есть функция, которая проходит через каждый […]

java.lang.UnsatisfiedLinkError

java.lang.UnsatisfiedLinkError Я использую пример hello-jni, и по какой-то причине я получаю java.lang.UnsatisfiedLinkError, когда пытаюсь вызвать библиотеку hello-jni. Любые идеи почему? Должен ли я когда-нибудь устанавливать свой путь? В HelloJni.java: public native String stringFromJNI(); а также static { System.loadLibrary("hello-jni"); } В hello-jni.c: jstring Java_com_bdunlay_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz ) { return (*env)->NewStringUTF(env, "Hello from JNI !"); […]

Невозможно получить значение JNIEnv * в произвольном контексте

У меня проблема с NDK. В моем методе JNI_OnLoad я кэширую указатель JavaVm, класс, который вызвал метод, и идентификатор метода, который я использую позже: JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved){ JNIEnv *env; cachedJVM = jvm; if((*jvm)->GetEnv(jvm, (void**)&env, JNI_VERSION_1_6)){ LOG_ERROR("Could not get JNIEnv*"); return JNI_ERR; } javaClass = (*env)->FindClass(env, "org/test/opensl/AudioProcessor"); if(javaClass == NULL){ LOG_ERROR("Could not […]

Компиляция C ++ 11 источников для Android NDK

Я пытаюсь скомпилировать некоторые источники C ++ 11 с Android NDK в Windows, но без большой удачи. Обратите внимание, что я прочитал некоторые другие вопросы о компиляции C ++ 11, но они, к сожалению, мало помогли. Я загрузил ADT Bundle и последний NDK ( android-ndk-r9b-windows-x86.zip ). Это мои файлы конфигурации: Application.mk APP_STL := gnustl_static NDK_TOOLCHAIN_VERSION […]