2016-03-06 61 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插件的版本有關。