android - 无法在任务 'jniFolders' 上设置只读属性 ':android:packageDebug' 的值

标签 android android-studio android-gradle-plugin

我想在一段时间未使用的 Android Studio 中打开并进行项目,但是当 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'))
}

我在这里看到了答案:Google AppInvites break build说...

Fixed by adding this instead:

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

但是上面的答案不是很清楚。我不确定要更改哪一行,并且答案中的大括号似乎不匹配。

我完全不知道该怎么办?任何帮助表示赞赏。

谢谢

最佳答案

好的,我必须将 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'))
}

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

我在阅读此 https://github.com/libgdx/libgdx/issues/3027 后想到了这个解决方案

关于android - 无法在任务 'jniFolders' 上设置只读属性 ':android:packageDebug' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35823240/

相关文章:

android - 如何在 dart/flutter 中提取 JSON 子数据

android - Gradle 构建期间序言中不允许出现内容

android - 添加 firebase 依赖项会导致 gradle 同步失败

android - 三个按钮中只有一个起作用

java - 使用java比较两个TIME变量

java - 在 Kotlin 中的 getClass() 之后获取 simpleName()

android - 如何使自定义对话框透明?

android - 安装失败,并显示消息“未找到设备 '(device number)'”

java - Android 比较背景颜色和颜色

intellij-idea - 无法从 'https://services.gradle.org/distributions/gradle-2.1-all.zip' 安装 Gradle 发行版