Родной пример проекта ARToolkit не работает

Недавно я работал над проектом с использованием 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)

person Renjithnath Ramachandran    schedule 05.04.2016    source источник


Ответы (2)


Первое, что нужно сделать при работе с Android Studio и ARToolKit, - это запустить сценарии сборки, расположенные в ARTOOLKIT_ROOT / android как build.sh, так и build_native_examples.sh.

Также хорошей отправной точкой является документ ARToolKit об этом здесь: http://www.artoolkit.org/documentation/doku.php?id=4_Android:android_native

Если вы используете версию GitHub, скоро будет выпущено обновление документации. Поскольку он не опубликован на ARToolKit.org jet, я приложил для вас PDF-файл:

https://drive.google.com/file/d/0B0I5m7Yc2x-rZm5vcDBDOGo1Rm8/view?usp=sharing

Редактировать:

Я только что проверил:

  • ОС Ubuntu 14.04
  • Android Studio 1.5.1
  • ARToolKit из основной ветки GitHub
  • NDK 11 / Android SDK 6.0 / Java 1.7.0_79

Шаги, которые сработали для меня:

  • выполнить ARTOOLKIT_ROOT / android / build.sh
  • выполнить ARTOOLKIT_ROOT / android / build_native_examples.sh
  • запустить AndroidStudio
  • Импортировать проект -> ARNativeSimpleProj
  • Запуск на Nexus 5

Вот и все работает хорошо.

person Thor_Bux    schedule 05.04.2016
comment
Я следил за каждым шагом, упомянутым в документации. Но все равно я не могу запустить нативные проекты. По-прежнему возникает та же ошибка, что и упомянутая выше. Большое спасибо за ответ @Gizmo - person Renjithnath Ramachandran; 06.04.2016
comment
Я еще раз посмотрю, какую ОС вы используете? - person Thor_Bux; 08.04.2016
comment
Ubuntu 15.04, Android Studio 1.5, сборка № AI-141.2422023, JRE 1.7.0_80 - person Renjithnath Ramachandran; 08.04.2016

попробуйте полностью удалить свое приложение или удалить данные приложения. Приложение будет кэшировать ваши данные из папки Data, поэтому, если вы внесете какие-либо изменения, оно не заберет их.

person reidisaki    schedule 11.10.2016