update - please include gradle in your path, or install android studio mac
Cordova/Ionic genera un error de Gradle en Android: la versión de Gradle mínima admitida es 2.14.1. La versión actual es 2.13 (8)
Esta es una solución al error anterior que quiero documentar. Encontré otros mensajes similares, pero ninguno describió cómo este error puede asociarse con Cordova o Ionic.
Si no tiene cuidado, puede haber una discrepancia entre la versión de Gradle que utiliza Android Studio y la versión de Gradle que Cordova / cordova-android especifica en su código de aplicación generado automáticamente. Como sabes, correr
$ cordova platform add android
(o $ ionic platform add android
, si está creando una aplicación Ionic) crea el código de aplicación nativo en el proyecto / plataformas / android.
Dentro de esa carpeta, el archivo: /the-project/platforms/android/cordova/lib/builders/GradleBuilder.js exporta una variable como se muestra a continuación:
var distributionUrl = process.env[''CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL''] || ''http//://services.gradle.org/distributions/gradle-x.y-all.zip'';
Donde x e y dependen de qué versión de Cordova / cordova-android se está usando para construir el código de aplicación nativo.
Cuando corres
$ cordova build android
La versión de Gradle especificada en la variable distributionUrl
es la versión utilizada para la compilación.
Ahora aquí viene la parte difícil. Cuando importe el proyecto a Android Studio, lo más probable es que reciba un mensaje recomendándole que actualice Gradle a una versión más reciente, como se muestra a continuación:
Si haces esto, Android Studio descargará una nueva versión de Gradle, la almacenará localmente y configurará el proyecto para usar la nueva distribución local de Gradle, que es la opción de radio debajo de la opción seleccionada "Utilizar el ajuste de calificación predeterminado", que terminé deselección porque esto causará errores.
Esto causará problemas porque Android Studio y Cordova ahora intentarán compilar la aplicación con diferentes versiones de Gradle y obtendrás errores de compilación dentro de Android Studio y también con
$ cordova build android
en la linea de comando La solución con las aplicaciones de Cordova es mantener siempre el proyecto de Android Studio configurado en "Usar el envoltorio de gradle predeterminado" e ignorar los mensajes tentadores para actualizar. Si desea usar una versión más reciente de Gradle, siempre puede cambiar la variable distributionUrl en el archivo mencionado anteriormente (sin embargo, Cordova no recomienda modificar el código dentro de la carpeta de plataformas, ya que se sobrescribe fácilmente). Al momento de escribir esto, no puedo decir si hay una manera de configurar la versión de Gradle en el
$ cordova platform add android
paso, que es cuando desea hacerlo para que nunca modifique directamente el código dentro del proyecto / plataformas
Cambiar a "Usar el envoltorio predeterminado de Gradle" no me funcionó en mi proyecto ionic 1, pero en ejecución
ionic platform remove android
ionic platform add android
Trabajó para mi
En el seguimiento de la respuesta de Chuck Holbrook, con la siguiente solución, aparece un error al intentar agregar la plataforma Android y decir que ya se agregó.
ionic cordova platform remove android
ionic cordova platform add android
Mi solución de trabajo:
ionic cordova platform remove android
ionic cordova platform check android
ionic cordova platform add android
Me encantaría dejar esto como un comentario, pero al parecer no tengo la suficiente reputación ...
Después de leer su documentación, no pude resolver mi problema con su sugerencia de mantener el Android Studio para "Usar el envoltorio predeterminado de Gradle". Lo que sí encontré es que el establecimiento de la variable de sesión CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL antes de la construcción me llevó un poco más lejos:
root@dev:$ export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="https/://services.gradle.org/distributions/gradle-2.14.1-all.zip"
root@dev:$ cordova build android
Lo siguiente que tuve que hacer fue editar <project>/platforms/android/build.gradle
y <project>/platforms/android/CordovaLib/build.gradle
y asegurarme de que ambos apuntaran a una versión válida del complemento Gradle.
dependencies {
classpath ''com.android.tools.build:gradle:2.2.0''
}
... y en <project>/platforms/android/CordovaLib/build.gradle
agregué jcenter en los repositorios (porque maven.org no parecía tener 2.2.0)
repositories {
mavenCentral();
jcenter()
}
Entonces pude construir.
Otra forma de solucionar el problema, que también funciona en Windows:
cordova build android --release --CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=https/://services.gradle.org/distributions/gradle-2.14.1-all.zip
Para mí, los siguientes comandos resolvieron el problema:
cordova platform remove android
cordova platform add android
ionic build android
Por error de seguimiento:
La versión mínima admitida de Gradle es 4.1. La versión actual es 3.3. Si usa la envoltura de gradle, intente editar la distribuciónUrl en E: / ionic / MyIonicProject / gr adle / wrapper / gradle-wrapper.properties para gradle-4.1-all.zip para gradle 4.1
Este comando funcionó para mí:
ionic cordova platform update android
Quiero extender la respuesta de @bungler.
Me confundí con la versión de gradle y la versión compatible del plugin de android para gradle. El siguiente enlace tiene la lista de versiones compatibles:
Gradle vs Android plugin para gradle - Lista de versiones compatibles
Para la versión actual de gradle 3.3+ , la versión compatible del complemento de Android es 2.3.3
Así que la configuración final se verá como sigue:
Para Mac
PASO 1: Agregue lo siguiente en las variables env:
opción a) actualizar env variable:
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="https/://services.gradle.org/distributions/gradle-3.3-all.zip"
o
opción b) puede descargar el file gradle y colocarlo en <project>/platforms/android/gradle/
y actualizar la variable env:
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="../gradle-3.3-all.zip"
PASO 2: Actualización siguiendo en <project>/platforms/android/CordovaLib/build.gradle
buildscript {
...
dependencies {
classpath ''com.android.tools.build:gradle:2.3.3''
}
}
Esto funcionó para mí.
puede cambiar el valor en plataforma / android / cordova / lib / builders / GradleBuilder.js
Al cambiar el valor, será reemplazado por el último zip de Gradle cuando reinstales la plataforma Android, por lo que no debes preocuparte por cambiarlo.
var distributionUrl = process.env[''CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL''] || ''https//://services.gradle.org/distributions/gradle-2.14.1-all.zip'';
o como los otros y
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="https/://services.gradle.org/distributions/gradle-2.14.1-all.zip"