Android Studio 2.1.3 – Problema de DefaultSourceDirectorySet

Actualización de Android Studio desde 2.1.2 -> 2.1.3 esta mañana y recibiendo el siguiente error de sincronización gradle:

Error: No se puede encontrar el método 'org.gradle.api.internal.file.DefaultSourceDirectorySet. (Ljava / lang / String; Ljava / lang / String; Lorg / gradle / api / internal / file / FileResolver;) V'.

Estoy bastante seguro de que está relacionado con el siguiente proyecto de biblioteca:

buildscript { repositories { mavenCentral() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.3' classpath 'com.google.protobuf:protobuf-gradle-plugin:0.7.0' } } apply plugin: 'com.android.library' apply plugin: 'com.google.protobuf' android { compileSdkVersion 23 buildToolsVersion "22.0.1" defaultConfig { minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { debug { minifyEnabled false } } sourceSets { main { proto { srcDir 'src/main/protos' } java { srcDir 'src/main/java' } manifest { srcFile 'src/main/AndroidManifest.xml' } } } } repositories { mavenCentral() } dependencies { compile 'com.android.support:support-v4:+' compile 'com.android.support:recyclerview-v7:+' compile 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-2' compile project(':wallpaperpicker-resources') } protobuf { // Configure the protoc executable protoc { // Download from repositories artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3' } } 

Captura de pantalla

Parece que mi versión anterior de plugin de gradle fue 1.3.0 – ¿me falta algún cambio que se produjo relacionado con el bloque de sourceSets?

Intente actualizar la versión protobuf: classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.0'

La respuesta de ced me llevó a la solución. Parece que las versiones más recientes de gradle, el complemento de gradle de Android Studio y el plugin google protoc no jugarían bien. Tuve que actualizar el google protoc plugin como ced observó – pero esto fue una gran salida de 0.7.0. El compilador de protoc javanano ya no se recomienda (y no pude conseguir que funcione en absoluto). Esta es la solución javalita que acabé usando.

 buildscript { repositories { mavenCentral() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.3' classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.0' } } apply plugin: 'com.android.library' apply plugin: 'com.google.protobuf' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { debug { minifyEnabled false } } sourceSets { main { proto { srcDir 'src/main/proto' } java { srcDirs = ['src/main/java','$buildDir/generated-sources/release/javalite'] } manifest { srcFile 'src/main/AndroidManifest.xml' } } } } repositories { mavenCentral() } dependencies { compile 'com.android.support:support-v4:23.2.0' compile 'com.android.support:recyclerview-v7:23.2.0' compile 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-2' compile 'com.google.protobuf:protoc-gen-javalite:3.0.0' compile 'com.google.protobuf:protobuf-lite:3.0.0' compile project(':wallpaperpicker-resources') } protobuf { generatedFilesBaseDir = "$projectDir/build/generated-sources" protoc { // Download from repositories artifact = 'com.google.protobuf:protoc:3.0.0' } plugins { javalite { // The codegen for lite comes as a separate artifact artifact = 'com.google.protobuf:protoc-gen-javalite:3.0.0' } } generateProtoTasks { all().each { task -> task.plugins { javalite { //remove some of the javalite extra packaging outputSubDir = '' } } } } } apply plugin: 'idea' idea { module { sourceDirs += file("$buildDir/generated-sources/release/javalite"); } } 
  • Error de Gradle después de actualizar Android Studio a 1.5
  • Retrofit no puede acceder a HttpUrl
  • No se puede crear una aplicación para Android con Gradle, excepto con sudo
  • Android Studio: Failure
  • La ejecución de Gradle falló para la tarea 'Project: processDebugManifest'
  • Android Studio / Intellij, Gradle Error: Causa: no homologado
  • ¿Por qué Android Studio no puede hacer referencia a una biblioteca si se incluye sólo en build.gradle?
  • Plugin experimental de Android Gradle de ejecución instantánea
  • Proyecto Unity como dependencia en Gradle
  • Android Studio - tarea de gradle para ejecutar después de SYNC
  • Cómo obtener un proyecto PhoneGap para ejecutarse en Android Studio con Gradle Build System
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.