2016-11-14 1 views
0

ARToolkit에서 ntfSimpleProj 예제를 사용하려고합니다. 나는 안드로이드 폴더 ./build.sh에서 성공적으로 두 개의 스크립트를 구축하고ARToolkit gradle 빌드 오류

을 ./build_native_examples.sh하지만 Gradle을 빌드 나에게이 오류를 반환 한 후

export ANDROID_HOME=/media/applica/Storage/Android/Sdk; export ANDROID_NDK_ROOT=$ANDROID_HOME/ndk-bundle; export NDK=$ANDROID_NDK_ROOT;

: 나는 환경 변수를 설정

apply plugin: 'com.android.model.application' 

model { 
    android { 
     compileSdkVersion = 22 
     buildToolsVersion = "23.0.3" 

     defaultConfig.with { 
      applicationId = "org.artoolkit.ar.samples.NftSimple" 
      minSdkVersion.apiLevel = 15 
      targetSdkVersion.apiLevel = 22 
      versionCode = 1  //Integer type incremented by 1 for every release, major or minor, to Google store 
      versionName = "1.0" //Real fully qualified major and minor release description 

      buildConfigFields.with { //Defines fields in the generated Java BuildConfig class, in this case, for 
       create() {   //default config, that can be accessed by Java code 
        type = "int"  //e.g. "if (1 == BuildConfig.VALUE) { /*do something*/}". 
        name = "VALUE" //See: [app or lib]/build/generated/source/buildConfig/[package path]/ 
        value = "1"  //  BuildConfig.java 
       } 
      } 

      ndk.with { 
       moduleName = "NftSimple" 
      } 
     } 
    } 

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

    android.productFlavors { 
    } 

    android.sources { 
     main.jni { 
      source { 
    apply plugin: 'com.android.model.application' 

model { 
    android { 
     compileSdkVersion = 22 
     buildToolsVersion = "23.0.3" 

     defaultConfig.with { 
      applicationId = "org.artoolkit.ar.samples.NftSimple" 
      minSdkVersion.apiLevel = 15 
      targetSdkVersion.apiLevel = 22 
      versionCode = 1  //Integer type incremented by 1 for every release, major or minor, to Google store 
      versionName = "1.0" //Real fully qualified major and minor release description 

      buildConfigFields.with { //Defines fields in the generated Java BuildConfig class, in this case, for 
       create() {   //default config, that can be accessed by Java code 
        type = "int"  //e.g. "if (1 == BuildConfig.VALUE) { /*do something*/}". 
        name = "VALUE" //See: [app or lib]/build/generated/source/buildConfig/[package path]/ 
        value = "1"  //  BuildConfig.java 
       } 
      } 

      ndk.with { 
       moduleName = "NftSimple" 
      } 
     } 
    } 

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

    android.productFlavors { 
    } 

    android.sources { 
       srcDirs = ['src/main/nop'] 
      } 
     } 
     main.jniLibs { 
      source { 
       srcDirs = ['src/main/libs'] 
      } 
     } 
    } 
} 

dependencies { 
    //compile 'com.android.support:support-v4:23.0.1' 
    //compile 'com.android.support:appcompat-v7:23.0.1' //Only required when the target device API level is greater than 
    compile project(':aRBaseLib') 
}              //the compile and target of the app being deployed to the device 

수의 :

Error:Attempt to read property 'main' from a write only view of model element 'android.sources' given to rule android.sources { ... } @ nftSimple/build.gradle line 40, column 5

이 내 Gradle을 파일입니다 오메 오네가 도와 줘?

고맙습니다.

답변

0

오류가 수정되었으므로 gradle에서 소스 선언을 변경해야합니다. 이에서

:

android.sources { 
      srcDirs = ['src/main/nop'] 
     } 
    } 
    main.jniLibs { 
     source { 
      srcDirs = ['src/main/libs'] 
     } 
    } 
} 

이 사람 :

android.sources { 
    main{ 
     jni { 
      source { 
       srcDirs "src/main/nop" 
      } 
     } 

     jniLibs { 
      source { 
       srcDirs "src/main/libs" 
      } 
     } 
    } 
}