无法在任务'中设置只读属性'jniFolders'的值:android:packageDebug'是怎么回事?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我想在Android工作室中打开并投影,但是当Android Studio尝试加载项目时失败,并显示以下错误消息:

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

提问于
用户回答回答于

我不得不将我的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'

我注意到了 :

// 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'))
}
用户回答回答于

在尝试将“Libgdx跨平台游戏开发指南”中的libgdx-cookbook样本导入到Android Studio 2.1.1中时,我遇到了同样的问题。就我而言,它是通过简单地解决的:

  • 导入/samples项目;
  • 提示时不升级Gradle插件;
  • 更新build.gradleandroid子项目下的文件,使其使用buildToolsVersioncompileSkdVersion我有: buildToolsVersion "23.0.3" compileSdkVersion 23
  • 再试一次。

扫码关注云+社区