2016-11-14 3 views
0

Ich versuche ntfSimpleProj Beispiel von ARToolkit zu verwenden. Ich setze die Umgebungsvariablen:ARToolkit Gradle Buildfehler

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

nachdem ich erfolgreich die beiden Skripte in ./build.sh android Ordner erstellen und

aber der Bau von gradle zurückkehren mir diesen Fehler ./build_native_examples.sh:

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

das ist mein gradle Datei:

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 

Can s Omeone hilf mir?

Vielen Dank!

Antwort

0

Ich habe den Fehler behoben, muss ich die Quellen Deklaration in der Großbuchstaben ändern.

Daraus:

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

Um dies:

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

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