2016-03-06 6 views
17

Chciałem otworzyć i wykonać projekt w Androidzie Studio, nad którym nie pracowałem od jakiegoś czasu, ale gdy Android Studio próbuje załadować projekt nie powiedzie się z tym komunikatem o błędzie:Nie można ustawić wartości właściwości tylko do odczytu "jniFolders" w zadaniu ": android: pakietDebug"

Error:(21, 0) Cannot set the value of read-only property 'jniFolders' on task ':android:packageDebug'. 

klikam na link do build.gradle i myślę, że te linie są problemem ...

// needed to add JNI shared libraries to APK when compiling on CLI 
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> 
    pkgTask.jniFolders = new HashSet<File>() 
    pkgTask.jniFolders.add(new File(projectDir, 'libs')) 
} 

widzę odpowiedź tutaj: Google AppInvites break build to mówi ...

Poprawiono dodając zamiast tego:

android { 
    sourcesets { 
    main { 
     jniLibs.srcDir new File(buildDir, 'lib') 
    { 
    } 
} 

Ale powyższe pytanie nie jest bardzo jasne. Nie jestem pewien, jaką linię zmienić, a szelki w odpowiedzi nie pasują do siebie.

Mam całkowitą stratę co robić? Każda pomoc jest doceniana.

Dzięki

Odpowiedz

33

Ok musiałem zmienić początek mojego pliku build.gradle do tego ....

android { 
    buildToolsVersion project.androidToolsVersion 
    compileSdkVersion project.androidSDKVersion.toInteger() 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
      jniLibs.srcDir 'libs' 
     } 

     instrumentTest.setRoot('tests') 
    } 
} 

/*RBC 
// needed to add JNI shared libraries to APK when compiling on CLI 
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> 
    pkgTask.jniFolders = new HashSet<File>() 
    pkgTask.jniFolders.add(new File(projectDir, 'libs')) 
} 
RBC*/ 

I dodaje wiersz:

jniLibs.srcDir 'libs' 

i skomentował obecnie

// needed to add JNI shared libraries to APK when compiling on CLI 
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> 
    pkgTask.jniFolders = new HashSet<File>() 
    pkgTask.jniFolders.add(new File(projectDir, 'libs')) 
} 

W pliku C:\Users\plankton\Desktop\ThePlaneThatCouldntFly\flappytrip\android\build.gradle.

doszedłem o tym roztworze po przeczytaniu tego https://github.com/libgdx/libgdx/issues/3027

+4

Dzięki temu człowiek działa. Ale straciłem sporo włosów, próbując rozwiązać ten błąd. – saurabh64

2

I w obliczu tego samego problemu podczas próby importowania libgdx-cookbook próbki z „libgdx wieloplatformowa gra Development Cookbook” w Android Studio 2.1.1. W moim przypadku został on rozwiązany po prostu:

  • importowanie projektu /samples;
  • nie aktualizuje wtyczki Gradle po wyświetleniu monitu;
  • aktualizowania build.gradle plik pod androida podprojekcie aby użyć buildToolsVersion i compileSkdVersion że miałem:

    buildToolsVersion "23.0.3" 
    compileSdkVersion 23 
    
  • próbuje ponownie.

Może to mieć związek z wersją wtyczki Gradle.