2014-12-15 2 views
3

enter image description hereAndroid NDK Студия сборки Ошибка неисправности: Не удалось завершить выполнение задачи для ': приложение: buildNative'

Привет. Я нахожусь в Android Studio NDK. Я не использовал родную библиотеку. просто классы java для использования библиотеки и JNI c или файлы заголовков. Так что я запутался, как написать файл градиента для моего проекта (saskin library, я изучаю его). Пожалуйста, помогите мне ~!

Сообщение об ошибке

Ошибка: Не удалось завершить выполнение задачи для ': приложение: buildNative. Возникла проблема, начиная процесс 'команды 'C: \ NDK/НДК-сборки''

build.gradle

apply plugin: 'com.android.application' 
android { 
    compileSdkVersion 8 
    buildToolsVersion "21.1.1" 

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

    sourceSets { 
     main { 
      jni.srcDirs = [] 
      //jniLibs.srcDir 'src/main/libs' 
     } 
    } 

    defaultConfig { 
     applicationId "com.sasken.player" 
     minSdkVersion 8 
     targetSdkVersion 8 

     ndk { 
      moduleName "equalizer" 
     } 
    } 

    // call regular ndk-build(.cmd) script from app directory 
    task ndkBuild(type: Exec) { 
     commandLine 'ndk-build', '-C', file('src/main/jni').absolutePath 
    } 

    tasks.withType(JavaCompile) { 
     compileTask -> compileTask.dependsOn ndkBuild 
    } 
} 

dependencies { 
} 

ответ

18

так как вы используете Windows, вы должны вызвать ndk-build.cmd вместо ndk-build, от вашего Задача ndkBuild.

Чтобы сделать вашу работу Gradle файла на окнах и Unix-совместимые системах, которые вы можете изменить вашу задачу так:

import org.apache.tools.ant.taskdefs.condition.Os 

    // call regular ndk-build(.cmd) script from app directory 
    task ndkBuild(type: Exec) { 
     if (Os.isFamily(Os.FAMILY_WINDOWS)) { 
      commandLine 'ndk-build.cmd', '-C', file('src/main').absolutePath 
     } else { 
      commandLine 'ndk-build', '-C', file('src/main').absolutePath 
     } 
    } 

Кроме того, как вы используете НКА-сборку непосредственно, НКА будут генерировать свои библиотеки внутри папки libs, поэтому вы должны раскомментировать jniLibs.srcDir 'src/main/libs' внутри вашего файла градиента, чтобы ваши сгенерированные библиотеки были приняты во внимание.

+0

И хорошо держать файлы .cpp видимыми в Android Studio, просто отключив задачи 'compileNormalDebugNdk' и' compileNormaReleaseNdk': http://stackoverflow.com/a/40574473/192373 –

Смежные вопросы

 Смежные вопросы