Ошибка при создании образца кода Google VR SDK

Я новичок в разработке программ для Android, и мне сложно запустить образец кода «ndk-treasurehunt». Я выполнил инструкции по созданию проекта и столкнулся с множеством ошибок. После изменения файла build.gradle мне удалось добиться некоторого прогресса, но сейчас я все еще сталкиваюсь со следующей ошибкой.


Команда сборки не удалась. Ошибка при выполнении процесса C: \ Users \ xxx \ AppData \ Local \ Android \ Sdk \ cmake \ 3.6.4111459 \ bin \ cmake.exe с аргументами {--build C: \ Users \ xxx \ ProgrammingAndroid \ gvr-android-sdk -1.150.0 \ samples \ ndk-treasurehunt.externalNativeBuild \ cmake \ debug \ x86 --target treasurehunt_jni} ninja: error: '../../../../libraries/jni/x86/libgvr.so' , требуется для '../../../../build/intermediates/cmake/debug/obj/x86/libtreasurehunt_jni.so', отсутствует и неизвестное правило для его создания.


Я модифицировал build.gradle следующим образом:


apply plugin: 'com.android.application'
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    allprojects {
        repositories {
            jcenter()
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}



android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'

    defaultConfig {
        applicationId "com.google.vr.ndk.samples.controllerpaint"
        minSdkVersion 25
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        externalNativeBuild {
            cmake {
                cppFlags "-std=gnu++11"
                arguments "-DGVR_LIBPATH=${project.rootDir}/libraries/jni",
                        "-DGVR_INCLUDE=${project.rootDir}/libraries/headers"
            }
        }
        buildTypes {
            release {
                minifyEnabled = true
                proguardFiles.add(file("${project.rootDir}/proguard-gvr.txt"))
            }
        }
        ndk {
            // This sample builds all architectures by default. Note that if you
            // only want to build for a specific architecture, you need to
            // remove the appropriate lines below. You also need to remove the
            // .so files from the apk using
            // "packagingOptions {exclude('lib/armeabi-v7a/*')}" in the android
            // section.
            abiFilters "arm64-v8a"
            abiFilters "armeabi-v7a"
            abiFilters "x86"
        }
    }
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
}


dependencies {
    implementation 'com.google.vr:sdk-audio:1.150.0'
    implementation 'com.google.vr:sdk-base:1.150.0'
}

build.dependsOn(':extractNdk')

Пожалуйста помоги! Спасибо!


person Jim    schedule 19.06.2018    source источник


Ответы (1)


Убедитесь, что ваш NDK установлен и правильно извлечен, выполнив следующие действия:

  1. Добавьте NDK в Android Studio через: Tools -> SDK Manager -> SDK Tools -> NDK
  2. Откройте Android Studio Terminal в нижней части IDE или через View -> Tool Windows -> Terminal
  3. Выполните следующую команду в терминале gradelw :extractNdk
  4. В settings.gradle раскомментируйте следующую строку include ':sample:ndk-treasurehunt', которая с тех пор была заменена на include ':samples:ndk-hellovr', если вы используете более новую версию NDK.
person VirtuallyEverything    schedule 05.11.2018