2016-08-18 9 views
7

अपडेट किया गया एंड्रॉयड स्टूडियो से 2.1.2 -> 2.1.3 आज सुबह और निम्नलिखित Gradle समन्वयन त्रुटि प्राप्त:एंड्रॉयड स्टूडियो 2.1.3 - DefaultSourceDirectorySet मुद्दा

Error:Unable to find method 'org.gradle.api.internal.file.DefaultSourceDirectorySet.(Ljava/lang/String;Ljava/lang/String;Lorg/gradle/api/internal/file/FileResolver;)V'.

मैं बहुत यकीन है कि यह निम्नलिखित से संबंधित है कर रहा हूँ पुस्तकालय परियोजना:

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

Screenshot

लग रहा है मेरे पिछले Gradle प्लगइन संस्करण की तरह 1.3.0 था - मैं कुछ परिवर्तन यह है कि स्रोत से संबंधित हुआ याद आ रही है ब्लॉक सेट करता है?

+0

क्या आपने प्रोजेक्ट को साफ करने की कोशिश की, साफ़ ग्रेड कैश? –

+1

मैं आरएम-आरएफ'एड /.gradle, परियोजना और अवैध कैश साफ़ किया। –

उत्तर

3

ced का जवाब मुझे समाधान का नेतृत्व किया। ऐसा लगता है कि ग्रेडल के नए संस्करण, एंड्रॉइड स्टूडियो ग्रेबल प्लगइन, और गूगल प्रोटोक प्लगइन अच्छा नहीं खेलेंगे। मुझे Google प्रोटोक प्लगइन को सीड के रूप में अपग्रेड करना पड़ा - लेकिन यह 0.7.0 से एक बड़ा प्रस्थान था। जावनानो प्रोटोक कंपाइलर की अब अनुशंसा नहीं की जाती है (और मैं इसे बिल्कुल काम नहीं कर सका)। यह जवालाइट समाधान है जिसका उपयोग मैंने समाप्त कर दिया।

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"); 
    } 
} 
6

Protobuf संस्करण को अपडेट करने का प्रयास करें: classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.0'

संबंधित मुद्दे