2016-03-19 5 views
5

Ich habe vor kurzem Android Studio auf Version 2.0 aktualisiert: Beta 7. Ich versuche, Instant Run zu verwenden, habe ich nur Gradle 2.0 installiert. Aber jetzt kann ich mein Projekt nicht kompilieren aufgrund eines FehlersVolley funktioniert nicht mit Gradle 2.0 und Instant run

bintray.gradle im Zusammenhang Wenn ich kompilieren ich die folgende Fehlermeldung erhalten:

Error:Cannot configure the 'publishing' extension after it has been accessed. 

Debugger Fehler:

Error:FAILURE: Build failed with an exception. 

* Where: 
Script 'C:\Project\AtkApp\volley\bintray.gradle' line: 43 

* What went wrong: 
A problem occurred evaluating script. 
> Cannot configure the 'publishing' extension after it has been accessed. 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

Bintray .gradle:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2" 
    } 
} 

// apply the plugin with its class name rather than its Id to work around gradle limitation of 
// not being able to find the plugin by Id despite the dependencies being added right above. Gradle 
// is currently not capable of loading plugins by Id if the dependency is anywhere else than 
// in the main project build.gradle. This file is "imported" into the project's build.gradle 
// through a "apply from:". 
apply plugin: com.jfrog.bintray.gradle.BintrayPlugin 
apply plugin: 'maven-publish' 

project.ext.group = 'com.android.volley' 
project.ext.archivesBaseName = 'volley' 
project.ext.version = '1.0.0' 
project.ext.pomDesc = 'Volley Android library' 

task sourcesJar(type: Jar) { 
    classifier = 'sources' 
    from android.sourceSets.main.java.srcDirs 
} 

task javadoc(type: Javadoc) { 
    source = android.sourceSets.main.java.srcDirs 
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) 
} 

task javadocJar(type: Jar, dependsOn: javadoc) { 
    classifier = 'javadoc' 
    from javadoc.destinationDir 
} 

artifacts { 
    archives javadocJar 
    archives sourcesJar 
} 

publishing { 
    publications { 
     library(MavenPublication) { 
      groupId project.ext.group 
      artifactId project.ext.archivesBaseName 
      version project.ext.version 

      // Release AAR, Sources, and JavaDoc 
      artifact "$buildDir/outputs/aar/volley-release.aar" 
      artifact sourcesJar 
      artifact javadocJar 
     } 
    } 
} 

bintray { 
    user = System.env.BINTRAY_USER 
    key = System.env.BINTRAY_USER_KEY 

    publications = [ 'library' ] 

    publish = project.has("release") 
    pkg { 
     userOrg = 'android' 
     repo = 'android-utils' 
     group = project.ext.group 
     name = project.ext.group + '.' + project.ext.archivesBaseName 
     desc = project.ext.pomDesc 
     licenses = [ 'Apache-2.0' ] 
     websiteUrl = 'https://tools.android.com' 
     issueTrackerUrl = 'https://code.google.com/p/android/' 
     vcsUrl = 'https://android.googlesource.com/platform/frameworks/volley.git' 
     labels = ['android', 'volley', 'network'] 
     publicDownloadNumbers = true 

     version { 
      name = project.ext.version 
      desc = project.ext.pomDesc + ' version ' + project.ext.version 
      gpg { 
       sign = true 
       passphrase = System.env.GPG_PASSPHRASE 
      } 
     } 
    } 
} 
+0

Ich habe das gleiche auch. Scheint, dass es einen Bug in der neuen Beta 7/Alpha 3 von Gradle geben könnte, es gibt einen Bugreport und er wurde als kritisch markiert, also hoffe ich auf eine Reparatur in Kürze. https://code.google.com/p/android/issues/detail?id=204329 – oiZo

+0

@oiZo Vielen Dank für Ihre Antwort, wenn Sie irgendwelche guten Nachrichten darüber sehen, vergessen Sie nicht, die Lösung hier zu posten :) – Germain

+0

Ich stehe auch vor demselben Problem. – Sushil

Antwort

2

comment the line in volley build.gradle

Ich habe dasselbe Problem konfrontiert, wenn ich die neueste Version aktualisiere. Ich versuchte dies und Erfolg.

+0

Während das Auskommentieren dieser Zeile in 'build.gradle' das Projekt kompilieren wird, löst es das Problem nicht. Mit dieser 'Reparatur' können Sie keine automatischen Builds für Bintray erstellen. – oiZo

0

Der Schuldige ist publishing Tag in bintray.gradle von Volley-Projekt verwendet. Mit Gradle 2.0.0 Update seine Beschwerde über publishing kann nicht konfiguriert werden, nachdem es zugegriffen wurde.

Für jetzt kommentieren folgende Linie in build.gradle von Volley Projekt wird den Bau gehen.

//apply from: 'bintray.gradle' 

Ich werde den Kommentar einmal aktualisiert bessere Lösung haben.

0

Sie diese Zeile nicht kommentieren:

apply from: 'bintray.gradle' 

gerade diese Linie von

Codes ändern
publishing { 
publications { 
    library(MavenPublication) { 
     groupId project.ext.group 
     artifactId project.ext.archivesBaseName 
     version project.ext.version 

     // Release AAR, Sources, and JavaDoc 
     artifact "$buildDir/outputs/aar/volley-release.aar" 
     artifact sourcesJar 
     artifact javadocJar 
    } 
} 
} 

zu

publishing.publications { 
library(MavenPublication) { 
    groupId project.ext.group 
    artifactId project.ext.archivesBaseName 
    version project.ext.version 

    // Release AAR, Sources, and JavaDoc 
    artifact "$buildDir/outputs/aar/volley-release.aar" 
    artifact sourcesJar 
    artifact javadocJar 
} 
} 
0

Publishing {Publikationen {}}, dann ist es in der Volley Dateien, die Sie Ihrem Projekt hinzugefügt haben. Verschwenden Sie keine Zeit in das Projekt zu schauen.

Verwandte Themen