2016-03-06 64 views
17

我想在Android工作室中打开并投影,但有一段时间我还没有开始工作,但是当Android Studio尝试加载的项目失败,出现此错误消息:无法在任务中设置只读属性'jniFolders'的值:android:packageDebug'

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

我点击链接到build.gradle上,我想这行是问题...

// 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')) 
} 

我在这里看到一个答案:Google AppInvites break build那说...

加入这个代替修正:

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

但上面的答案不是很清楚。我不确定哪条线要改变,答案中的大括号似乎没有匹配。

我在完全丧失做什么?任何帮助表示赞赏。

感谢

回答

33

好,我不得不改变我的build.gradle文件,这个开始....

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*/ 

我加了一行:

jniLibs.srcDir 'libs' 

和我评论out

// 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')) 
} 

C:\Users\plankton\Desktop\ThePlaneThatCouldntFly\flappytrip\android\build.gradle文件中。

我读这https://github.com/libgdx/libgdx/issues/3027

+4

谢谢你,它的作品。但我失去了不少头发虽然试图解决这个错误。 – saurabh64

2

试图从“Libgdx跨平台游戏开发食谱”导入libgdx-cookbook样品到Android Studio中2.1.1当我面临同样的问题后,来到这个解决方案。在我的情况下,它是通过简单地解决:

  • 导入/samples项目;
  • 提示时不升级Gradle插件;
  • android的子项目下更新build.gradle文件,使之使用buildToolsVersioncompileSkdVersion我有:

    buildToolsVersion "23.0.3" 
    compileSdkVersion 23 
    
  • 再试一次。

所以它可能与Gradle插件的版本有关。