Método no compatible: BaseConfig.getApplicationIdSuffix()

4 minutos de lectura

avatar de usuario
extensiones

entonces estoy leyendo Android 6 para programadores: un enfoque basado en aplicaciones y los primeros dos ejemplos de aplicaciones no tuve problemas con los ejemplos, esta vez el ejemplo de FlagQuiz cuando se cargó en Android Studio 3.0 Canary-3 Recibo este error que no me permite construir el proyecto:

Error: método no compatible: BaseConfig.getApplicationIdSuffix(). La versión de Gradle a la que te conectas no admite ese método. Para resolver el problema, puede cambiar/actualizar la versión de destino de Gradle a la que se conecta. Como alternativa, puede ignorar esta excepción y leer otra información del modelo.

Puede descargar la fuente desde el sitio del libro. aquí para probar con la misma base de código que estoy probando.

avatar de usuario
extensiones

Muy bien, descubrí cómo solucionar este problema.

  • Abra build.gradle y cambie la versión de gradle a la versión recomendada:
    classpath 'com.android.tools.build:gradle:1.3.0' a
    classpath 'com.android.tools.build:gradle:2.3.2'
  • Pegar 'Try Again'
  • En el cuadro de mensajes dirá 'Fix Gradle Wrapper and re-import project' Haga clic en eso, ya que la versión mínima de gradle es 3.3
  • Aparecerá un nuevo error y dirá The SDK Build Tools revision (23.0.1) is too low for project ':app'. Minimum required is 25.0.0 – Pegar Update Build Tools version and sync project
  • Puede aparecer una ventana que dice Android Gradle Plugin Update recommendedsimplemente actualice desde allí.

Ahora el proyecto debería poder ejecutarse ahora en cualquiera de sus dispositivos virtuales Android.

  • Realmente no entiendo por qué Google hace las cosas más difíciles.

    – ACAkgul

    07/12/2017 a las 21:37

  • @AhmetCanAkgül ¡No es así!

    – Mascarada

    14 de diciembre de 2017 a las 2:48

  • en mi caso, classpath ‘com.android.tools.build:gradle:2.3.2’ funciona.

    – Prags

    3 de enero de 2018 a las 7:58


  • Ciertamente es un poco de una tarea.

    –Scott Fraley

    3 de enero de 2018 a las 23:13

  • @ACAkgul Sí, estamos actualizando nuestras aplicaciones con menos frecuencia ahora, cada vez que hacemos esto es una tarea enorme, una simple corrección de errores significa que tenemos que actualizar nuestro entorno y pasar horas (si no días) para cambiar a nuevas API y entorno. La gente se burla de Microsoft, ¡ahora creo que los MS son ángeles!

    – albattrán

    21 de enero de 2018 a las 16:55

Para Android Studio 3, necesito actualizar dos archivos para corregir el error:–

1. aplicación/construir.gradle

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

2. aplicación/gradle/envoltura/gradle-envoltura.propiedades

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

  • Esto funcionó para mí. Debe marcarse como respuesta correcta.

    – Tina J.

    29 de enero de 2018 a las 22:05

  • @srs, explique por qué en las dependencias se bloquea la versión 3.0.1 de gradle, pero en el archivo gradle-wrapper 4.1. ¿No debería ser la misma versión?

    – Johnny Cinco

    6 mayo 2018 a las 18:23

  • Interesante, pero no pude hacer esto en un proyecto realmente antiguo. Luego cambié la versión de gradle no a 3.0.1 sino a 2.2.1 y funcionó.

    – Johnny Cinco

    6 mayo 2018 a las 18:36

Primero, abra su módulo de aplicación construir.gradle expediente.

Comprobar el ruta de clase según la dependencia de su proyecto. Si no, cambie la versión de este classpath.

de:

classpath 'com.android.tools.build:gradle:1.0.0'

A:

classpath 'com.android.tools.build:gradle:2.3.2'

o una versión superior según su gradle de android studio.

Si sigue siendo un problema, cambie buildToolsVersion:

De:

buildToolsVersion '21.0.0'

A:

buildToolsVersion '25.0.0'

luego presiona ‘Intentar de nuevo’ y gradle se sincronizará automáticamente. Esto lo resolverá.

avatar de usuario
harry zhang

En mi caso, Android Studio 3.0.1, solucioné el problema con los siguientes dos pasos.

Paso 1: Cambie la versión del complemento de Gradle en build.gradle a nivel de proyecto

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}

Paso 2: cambiar la versión de gradle

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

También enfrenté el mismo problema y obtuve una solución muy similar:

  1. Cambiando el classpath a classpath ‘com.android.tools.build:gradle:2.3.2’

    Imagen después de agregar el classpath

  2. Un nuevo mensaje que indica la actualización de la versión de la herramienta de compilación, así que simplemente haga clic en ese mensaje para actualizar.
    Actualizar

  • Pegue su código directamente en la respuesta en lugar de usar imágenes.

    – Tom Aranda

    31 de octubre de 2017 a las 2:19

avatar de usuario
Angustia

Cambia tu versión de gradle o actualízala

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
}

alt+enter y elige “reemplazar con una versión específica”.

  • Pegue su código directamente en la respuesta en lugar de usar imágenes.

    – Tom Aranda

    31 de octubre de 2017 a las 2:19

avatar de usuario
Mudasir Khan

Puede hacer esto cambiando el archivo gradle.

 build.gradle > change
    dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
    }
    gradle-wrapper.properties > update
    distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad