Подтвердить что ты не робот

Невозможно установить значение свойства "только для чтения" "jniFolders" для задачи: android: packageDebug '

Я хотел открыть и спроектировать в студии 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'))
}

Я вижу ответ здесь: Google AppInvites break build, который говорит...

Исправлено добавлением:

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

Но вышеупомянутый ответ не очень ясен. Я не уверен, какую строку изменить, и фигурные скобки в ответе, похоже, не совпадают.

У меня полная потеря в том, что делать? Любая помощь приветствуется.

Спасибо

4b9b3361

Ответ 1

Хорошо мне пришлось изменить начало моего файла 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

Ответ 2

Я столкнулся с этой же проблемой при попытке импортировать образцы libgdx-cookbook из "Поваренной книги по развитию кросс-платформенной игры Libgdx" в Android Studio 2.1 0,1. В моем случае это было решено просто:

  • импортировать проект /samples;
  • не обновлять плагин Gradle при появлении запроса;
  • обновить файл build.gradle под подпроектом android, чтобы использовать buildToolsVersion и compileSkdVersion, которые у меня были:

    buildToolsVersion "23.0.3"
    compileSdkVersion 23
    
  • повторить попытку.

Так что это может быть связано с версией плагина Gradle.