Volley no funciona con Gradle 2.0 e Instant run
He actualizado recientemente Android Studio a la versión 2.0: Beta 7. Estoy intentando utilizar Instant Run, Acabo de instalar Gradle 2.0. Pero ahora no puedo compilar mi proyecto debido a un error relacionado con bintray.gradle
Cuando compilo consigo el error siguiente:
- No hay cambios para implementar android studio 2.1
- Ejecutar aplicaciones vs aplicar cambios android studio 2.3
- Error al ejecutar el proyecto de Android (escrito en Kotlin) compilado con el complemento Gradle2.0.0-alpha
- Ejecutar "Ejecutar instantáneamente" desde la línea de comandos
- No se puede instanciar la aplicación com.android.tools.fd.runtime.BootstrapApplication? Android
Error:Cannot configure the 'publishing' extension after it has been accessed.
Error de depurador:
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 } } } }
4 Solutions collect form web for “Volley no funciona con Gradle 2.0 e Instant run”
He tenido el mismo problema cuando actualizo la última versión. Traté de hacer esto y el éxito.
El culpable está publishing
etiqueta usada en bintray.gradle
del proyecto del voleo. Con la actualización Gradle 2.0.0, no se puede configurar su reclamación sobre la publishing
después de que se haya accedido.
Por ahora comentar la siguiente línea en build.gradle
de Volley
proyecto obtendrá la construcción va.
//apply from: 'bintray.gradle'
Actualizaré el comentario una vez que tenga mejor solución.
No comente esta línea:
apply from: 'bintray.gradle'
Solo cambia esta línea de códigos
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 } } }
a
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 } }
Publicando {publications {}}, está en los archivos volley que agregó a su proyecto. No pierda el tiempo buscando en el gradle del proyecto.