Недавно я работал над проектом с использованием ARToolkit5 в студии Android. Поскольку я новичок в разработке с использованием NDK, сначала я подумал о том, чтобы посмотреть примеры проектов, включенных в artoolkit. Примеры на основе java работают нормально (ARSimpleProj и ARSimpleInteractionProj). Но когда я пытаюсь запустить проекты с использованием собственной библиотеки (ARSimpleNativeProj и ARSimpleNativeCarsProj), проект не работает.
Все, что я получаю, это сообщение об ошибке в logcat, как показано ниже:
E / libARWrapper: ARController (native): [error] Загрузка одного маркера AR из ›файла 'Data / patt.hiro' шириной 80.000000. E / libARWrapper: ARController (native): [error] Ошибка: невозможно загрузить один ›маркер AR из файла 'Data / patt.hiro'. E / libARWrapper: ARController (native): [error] Ошибка: не удалось загрузить маркер.
E / libARWrapper: ARController (native): [error] Загрузка одного маркера AR из ›файла 'Data / patt.kanji' шириной 80.000000. E / libar: Ошибка при открытии файла шаблона "Data / patt.kanji" для чтения. E / libARWrapper: ARController (собственный): [ошибка] Ошибка: невозможно загрузить один ›маркер AR из файла 'Data / patt.kanji'. E / libARWrapper: ARController (native): [error] Ошибка: не удалось загрузить маркер.
И непрерывное сообщение в логарифме:
E / libARWrapper: ARController (собственный): [ошибка] arwQueryMarkerTransformation (): не удалось найти маркер с UID -1.
Я много пытался выяснить, в чем проблема. Я не мог найти решения. Любая помощь приветствуется.
Я добавляю более подробную информацию о выводе logcat, надеясь, что он может предоставить некоторую дополнительную информацию.
E / libARWrapper: ARController (native): VideoSource :: configure (): video ›Конфигурация исходного видео: -format = NV21 E / libARWrapper: ARController (native): VideoSource :: configure (): video› Параметры исходной камеры: Data / camera_para.dat E / libARWrapper: ARController (собственный): [ошибка] Открытие источника видео для Android.
а также
E / libARWrapper: ARController (собственный): ARController :: startRunning (): вызывается, ›запускать E / libARWrapper: ARController (собственный): [ошибка] ARController :: startRunning ():› Ошибка: не инициализировано, завершается, возвращается false E / ARToolKit: Ошибка при запуске видео E / ARActivity: Ошибка инициализации камеры. Не могу продолжить.
Я вижу это сообщение в верхней части журнала. Я не мог определить причину такой ошибки
E/Zygote: Zygote: error closing descriptor
libcore.io.ErrnoException: close failed: EBADF (Bad file number)
at libcore.io.Posix.close(Native Method)
at libcore.io.BlockGuardOs.close(BlockGuardOs.java:75)
at com.android.internal.os.ZygoteInit.closeServerSocket(ZygoteInit.java:221)
at com.android.internal.os.ZygoteConnection.handleChildProc(ZygoteConnection.java:879)
at com.android.internal.os.ZygoteConnection.runOnce(ZygoteConnection.java:242)
at com.android.internal.os.ZygoteInit.runSelectLoop(ZygoteInit.java:713)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:649)
at dalvik.system.NativeStart.main(Native Method)