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

  • Android Studio Error JUNIT4! JUnit versión 3.8 o posterior esperado:
  • Uso de Proguard para eliminar clases no utilizadas en la biblioteca de Servicios de Google Play
  • ¿Por qué no puedo importar el SDK de Facebook correctamente?
  • Obtenga el tipo de generación gradle en el sabor del producto
  • Conflicto con dependencia 'com.android.support:support-annotations'. Las versiones resueltas para la aplicación (23.1.0) y la aplicación de prueba (23.0.1) difieren
  • Gradle no se sincronizó con 'No se pudo encontrar una biblioteca opcional'
  • La aplicación React Native no se iniciará cuando se use applicationIdSuffix
  • ¿Qué hace transitive = true en Gradle exactamente hacer (wrt crashlytics)?
  • Dependencia de ViewPagerIndicator con Gradle y Android Studio
  • ¿Cuál es la diferencia entre "minifyEnabled" y "useProguard" en el complemento de Android para Gradle?
  • ¿Cuál es la sintaxis para escribir comentarios en el archivo build.gradle?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.