Android studio 3.0 Canary 1: la actualización del proyecto ha fallado

He intentado cargar mi proyecto en este nuevo Android Studio 3.0 Canary 1 . Estaba funcionando perfectamente en mi anterior Android Studio Versión 2.4 preview 7

Este es el error que estoy enfrentando:

Error:Could not resolve all dependencies for configuration ':sample:devCompileClasspath'. Project :sample declares a dependency from configuration 'devCompile' to configuration 'dev' which is not declared in the descriptor for project :library. 

Mis configuraciones gradle son las siguientes:

Nivel de Proyecto Gradle:

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha1' classpath 'com.google.gms:google-services:3.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 

Módulo de Biblioteca Gradle:

 apply plugin: 'com.android.library' apply plugin: 'checkstyle' android { publishNonDefault true compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { minSdkVersion 19 targetSdkVersion 25 versionName project.VERSION_NAME versionCode project.VERSION_CODE.toInteger() } packagingOptions { exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'AUTHORS' exclude 'NOTICE' } buildTypes { debug { debuggable true } dev.initWith(buildTypes.debug) staging.initWith(buildTypes.debug) release { minifyEnabled false shrinkResources false } } } repositories { flatDir { dirs 'libs' } mavenLocal() jcenter() } def ANDROID_SUPPORT_VERSION = "25.3.1" def OK_HTTP3_VERSION = "3.6.0" def GLIDE_VERSION = "3.7.0" def GSON_VERSION = "2.8.0" def AWS_KINESIS_VERSION = "2.4.2" def PLAY_SERVICE_VERSION = "10.2.4" dependencies { compile(name: 'library-release', ext: 'aar') compile "com.android.support:appcompat-v7:$ANDROID_SUPPORT_VERSION" compile "com.android.support:design:$ANDROID_SUPPORT_VERSION" compile "com.android.support:cardview-v7:$ANDROID_SUPPORT_VERSION" compile "com.squareup.okhttp3:okhttp:$OK_HTTP3_VERSION" compile "com.squareup.okhttp3:okhttp-urlconnection:$OK_HTTP3_VERSION" compile "com.squareup.okhttp3:logging-interceptor:$OK_HTTP3_VERSION" compile "com.google.code.gson:gson:$GSON_VERSION" compile "com.google.firebase:firebase-messaging:$PLAY_SERVICE_VERSION" compile "com.google.android.gms:play-services-location:$PLAY_SERVICE_VERSION" compile "com.github.bumptech.glide:glide:$GLIDE_VERSION" checkstyle('com.puppycrawl.tools:checkstyle:7.6.1') compile "com.amazonaws:aws-android-sdk-kinesis:$AWS_KINESIS_VERSION" } apply plugin: 'com.google.gms.google-services' task checkstyle(type: Checkstyle) { showViolations = true configFile file("config/checkstyle/checkstyle.xml") description 'applies the checkstyle config to the java files' source 'src/main/java' include '**/*.java' exclude '**/gen/**' // empty classpath classpath = files() } preBuild.dependsOn('checkstyle') 

Gradulo del módulo de aplicación:

 apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { applicationId "com.sample.and" minSdkVersion 19 targetSdkVersion 25 versionName project.VERSION_NAME versionCode project.VERSION_CODE.toInteger() android.defaultConfig.vectorDrawables.useSupportLibrary = true } buildTypes { debug { debuggable true minifyEnabled false shrinkResources false } dev.initWith(buildTypes.debug) dev { applicationIdSuffix ".dev" } staging.initWith(buildTypes.debug) staging { applicationIdSuffix ".staging" } release { shrinkResources false minifyEnabled false } } } repositories { flatDir{ dirs '../library/libs' } mavenLocal() jcenter() } configurations { releaseCompile stagingCompile devCompile } dependencies { compile 'com.android.support:appcompat-v7:25.3.1' releaseCompile (project(path: ':library', configuration: 'release')) { transitive = true } stagingCompile (project(path: ':library', configuration: 'staging')) { transitive = true } devCompile (project(path: ':library', configuration: 'dev')) { transitive = true } } 

¿Alguien se enfrentó al mismo problema?

Eche un vistazo a los consejos de migración: Utilice las Dimensiones de Sabor para la gestión de dependencias con reconocimiento de variantes

Como dice:

Plugin 3.0.0 incluye un nuevo mecanismo de dependencia que automáticamente coincide con las variantes al consumir una biblioteca. Esto significa que la variante de depuración de una aplicación consume automáticamente la variante de depuración de una biblioteca, y así sucesivamente. También funciona cuando se usan sabores: la variante redDebug de una aplicación consumirá la variante redDebug de una biblioteca. Para que esto funcione, el complemento ahora requiere que todos los sabores pertenezcan a una dimensión de sabor nombrada -incluso si se pretende utilizar sólo una dimensión única. De lo contrario, obtendrá el siguiente error de generación:

 Error:All flavors must now belong to a named flavor dimension. The flavor 'flavor_name' is not assigned to a flavor dimension. 

Para resolver este error, asigne cada sabor a una dimensión con nombre, como se muestra en el ejemplo siguiente. Debido a que la correspondencia de dependencias ahora es atendida por el plugin, debe nombrar sus dimensiones de sabor cuidadosamente. Por ejemplo, si todos los módulos de la aplicación y la biblioteca utilizan la dimensión foo, tendrás menos control sobre los sabores que coinciden con el complemento.

 // Specifies a flavor dimension. flavorDimensions "color" productFlavors { red { // Assigns this product flavor to the 'color' flavor dimension. // This step is optional if you are using only one dimension. dimension "color" ... } blue { dimension "color" ... } 

FlavorDimensions "modo"

 productFlavors { dev { // Assigns this product flavor to the "mode" flavor dimension. dimension "mode" versionName "1.2" versionCode 02 } uat { // Assigns this product flavor to the "mode" flavor dimension. dimension "mode" versionName "1.2" versionCode 2 } live { // Assigns this product flavor to the "mode" flavor dimension. dimension "mode" versionName "1.0.1" versionCode 01 } } 

¡Esto está trabajando para mí !! En su caso, debe hacer una variable flavorDimensions y asignar el valor dentro del bloque dev

FlavorDimensions "anyvalue"

Dev.initWith (buildTypes.debug)

  dev { dimension "anyvalue" applicationIdSuffix ".dev" } 

Esto debería ayudar.

https://developer.android.com/studio/preview/features/new-android-plugin-migration.html

En este enlace puede ayudarle a resolver su problema: D

  • Gradle compile filetree sintaxis
  • ¿Qué hace transitive = true en Gradle exactamente hacer (wrt crashlytics)?
  • Todas las bibliotecas com.android.support deben utilizar la misma especificación de versión
  • No se encontró ninguna versión que coincida con com.android.tools.build:gradle:1.10+
  • Error de ejecución para la tarea ': app: compileDebugAidl': helpl falta
  • Módulo Gradle y submódulo git
  • ¿Cómo puedo mostrar los archivos de registro, System.out.println (), en la prueba de Android?
  • ¿Cómo importar Sherlock de la barra de acción al proyecto gradle?
  • Problema de generación de Gradle 3.0.0-beta1
  • ¿Por qué no puedo importar el SDK de Facebook correctamente?
  • Versiones dinámicas (usando +) de dependencias en gradle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.