Как интегрировать OpenCV 3.1.0 в Oculus Mobile SDK 1.0.3, образец "VrTemplate" [Android Studio, Win8, GearVR]

Я пытаюсь интегрировать OpenCV в проект GearVR, и моей целью было использование фильтра "сепия" из образца OpenCV, чтобы увидеть мир в фильтре "сепия" (а затем и другие фильтры) через GearVR.

Вот мой процесс и моя проблема: Сначала я следую " https://developer.oculus.com/documentation/mobilesdk/latest/concepts/mobile-new-apps-intro/", чтобы создать новый проект, скопированный из VrTemplate (пример входит в Oculus Mobile SDK). Запуск его через build.cmd работает, создавая на экране 2 искривленных зеленых "круга", готовых для GearVR.

Затем я открываю Android Studio и "file-new-import project" и выбираю файл build.gradle во вновь созданном проекте (C:\Dev1\ovr_sdk_mobile_1.0.3\VrSamples\Native\VrAndOpenCVApp\Projects\Android\build.gradle) VrAndOpenCVApp - это имя проекта, который я создал ранее.

Запуск его через Android Studio тоже работает.

Теперь я хочу OpenCV 3.1.0 и следую этому руководству: " https://chmod600blog.wordpress.com/2016/02/22/how-to-add-opencv-3-1-0-to-android-studio/". Я проверил это, сначала создав новое приложение, и этот процесс прост и работает. Однако теперь я должен получить его в готовом шаблонном приложении GearVR. После "File-New-Import Module", "File -> Project Structure" выбирая модуль "Android" слева ("Android" должно быть стандартным именем, заданным шаблоном, а не "app" при создании нового собственного). приложение). Вкладка "Зависимости" -> "+" -> "Зависимость модуля" и выбор openCVLibrary310, который я только что добавил. Здесь ошибка "Ошибка: Конфигурация с именем" default "не найдена". Появляется, который останется со мной до конца. Шаг 12 учебного руководства, и я открываю "C:\Dev1\ovr_sdk_mobile_1.0.3\VrSamples\Native\VrAndOpenCVApp\Projects\Android\openCVLibrary310\build.gradle" и "C: \ Dev1 \ ovr_sdk_mobile_1.0.3 \ Vative. Vsamples \Projects\Android\build.gradle", где я настраиваю значения compileSdkVersion, buildToolsVersion, defaultConfig/minSdkVersion и defaultConfig/targetSdkVersion

android {
    compileSdkVersion 19
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 19
    }

,

После синхронизации файлов Gradle появляется сообщение об ошибке "Ошибка: Конфигурация с именем" default "не найдена". остается. Я не знаю, как получить больше информации об этой ошибке, Google дал мне несколько советов, но я не уверен, что применил их неправильно или они не относятся к моей проблеме.

Я старался:

  • изменение buildtools, target и скомпилированной версии sdk (используемая версия gradle выглядит как 1.5.0 упаковщиком gradle, который поставляется вместе с oculus mobile sdk)
  • связывая его с новым приложением, как подсказывает учебник, это работало и было легко. Структура проекта выглядит иначе. У меня есть скриншоты, но я не могу опубликовать их, потому что мой аккаунт здесь новый.

build.gradle из openCVLibrary310 в папке шаблона проекта

apply plugin: 'com.android.library'

android {
        compileSdkVersion 19
        buildToolsVersion "23.0.1"

        defaultConfig {
            minSdkVersion 19
            targetSdkVersion 19
        }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

build.gradle из шаблона приложения (игнорируйте buildtools, я просто тестирую разные)

apply plugin: 'com.android.application'
apply from: "${rootProject.projectDir}/VrApp.gradle"

dependencies {
  compile project(':VrAppFramework:Projects:AndroidPrebuilt')
  compile project(':VrAppSupport:SystemUtils:Projects:AndroidPrebuilt')
  compile project(':VrAppSupport:VrGUI:Projects:AndroidPrebuilt')
  compile project(':VrAppSupport:VrLocale:Projects:AndroidPrebuilt')
  compile project(':VrAppSupport:VrSound:Projects:AndroidPrebuilt')
  //compile project(':VrSamples:Native:VrAndOpenCVApp:Projects:Android:openCVLibrary310') //same error
  compile project(':openCVLibrary310')
}

android {
  project.archivesBaseName = "VrAndOpenCVApp"

  defaultConfig {
    applicationId "com.daprlab.VrAndOpenCVApp"
  }

  compileSdkVersion 23
  buildToolsVersion '24.0.0'

  sourceSets {
    main {
      manifest.srcFile 'AndroidManifest.xml'
      java.srcDirs = ['../../java']
      jniLibs.srcDir 'libs'
      res.srcDirs = ['../../res']
      assets.srcDirs = ['../../assets']
    }
  }
}

settings.gradle шаблона проекта

rootProject.projectDir = new File(settingsDir, '../../../../..')
rootProject.name = "VrAndOpenCVApp"

include ':', \
    'VrApi:Projects:AndroidPrebuilt', \
    'VrAppFramework:Projects:AndroidPrebuilt', \
    'VrAppSupport:VrLocale:Projects:AndroidPrebuilt', \
    'VrAppSupport:VrSound:Projects:AndroidPrebuilt', \
    'VrSamples:Native:VrAndOpenCVApp:Projects:Android', \
    'VrAppSupport:SystemUtils:Projects:AndroidPrebuilt', \
    'VrAppSupport:VrGUI:Projects:AndroidPrebuilt'
include ':openCVLibrary310'

settings.gradle на верхнем уровне

rootProject.projectDir = new File(settingsDir, '.')
rootProject.name = "OculusRoot"

include ':VrApi:Projects:AndroidPrebuilt', \
':VrAppFramework:Projects:AndroidPrebuilt', \
':VrAppSupport:SystemUtils:Projects:AndroidPrebuilt', \
':VrAppSupport:VrLocale:Projects:AndroidPrebuilt', \
':VrAppSupport:VrSound:Projects:AndroidPrebuilt', \
':VrAppSupport:VrGUI:Projects:AndroidPrebuilt'

include ':LibOVRKernel:Projects:Android', \
':VrAppFramework:Projects:Android', \
':VrCapture:Projects:Android', \
':VrApi:Impl:Projects:Android', \
':VrApi:Loader:Projects:Android', \
':VrAppSupport:SystemUtils:Projects:Android', \
':VrAppSupport:VrGUI:Projects:Android', \
':VrAppSupport:VrLocale:Projects:Android', \
':VrAppSupport:VrModel:Projects:Android', \
':VrAppSupport:VrSound:Projects:Android'

include ':openCVLibrary310'

0 ответов

Другие вопросы по тегам