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:
- ¿Todas las bibliotecas com.google.android.gms deben usar la misma especificación de versión?
- Cómo ignorar el atributo Ignorar InnerClasses
- Error de plugin de Android 1.3
- La tarea Gradle no se ejecuta en Android Studio
- Todas las bibliotecas com.android.support deben utilizar la misma especificación de versión
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?
- Error: Gradle: la ejecución falló para la tarea ': app: preDexDebug'
- Cómo configurar el orden de las bibliotecas en el classpath para Android Studio?
- 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
- Android Studio Preview 3 error al generar la versión APK: release-stripped.ap_ no existe
- Error: Error de ejecución para la tarea ': app: mergeDebugResources'. > Se ha producido un error en el procesamiento de archivos, vea los registros para obtener detalles.
- No se pudo encontrar el método classpath () para los argumentos
- Añadir Android Library a un proyecto existente en Android Studio 0.3.6
- Después de actualizar - Error: No se pudo encontrar: com.google.android.gms: play-services: 5.2.8
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