android cordova ionic-framework ionic3 build.gradle

android - Error: No se pudo encontrar org.jetbrains.kotlin: kotlin-stdlib-jdk8: 1.3.60-eap-25 en Ionic 3



cordova ionic-framework (7)

EDITAR 28/10/19:

cordova-support-google-services se actualizó hoy a la versión 1.3.2 que cambia el classpath de classpath ''com.android.tools.build:gradle:+''

a

classpath ''com.android.tools.build:gradle:3.+''

que parece corregir el error de Kotlin

Respuesta original

Obtuve el mío para construir con éxito haciendo lo siguiente:

Edité plataformas-> android-> cordova-support-google-services-> myAppName-build.gradle

y cambiado

maventCentral()

a

maven { url "https://maven.google.com" } maven { url ''https://dl.bintray.com/kotlin/kotlin-eap'' }

Eso resolvió el error de Kotlin y luego recibí un error diferente que resolví cambiando

classpath ''com.google.gms:google-services:4.2.0''

a

classpath ''com.google.gms:google-services:4.1.0''

Luego se construyó con éxito.

De repente recibo el siguiente error al crear la aplicación Ionic 3 para Android.

Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25

Aquí tenemos una solución de Android Studio here pero después de que cambié mi build.gradle con el siguiente código, todavía recibo el error.

buildscript { repositories { ... maven { url ''https://dl.bintray.com/kotlin/kotlin-eap'' } } } allprojects { repositories { ... maven { url ''https://dl.bintray.com/kotlin/kotlin-eap'' } } }

Mi archivo build.gradle se ve así después de actualizar mi Cordova y agregar la solución anterior.

buildscript { repositories { google() jcenter() maven { url ''https://dl.bintray.com/kotlin/kotlin-eap'' } } dependencies { // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath ''com.android.tools.build:gradle:3.3.0'' } } allprojects { repositories { google() jcenter() maven { url ''https://dl.bintray.com/kotlin/kotlin-eap'' } } //This replaces project.properties w.r.t. build settings project.ext { defaultBuildToolsVersion="28.0.3" //String defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4 defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default } } task clean(type: Delete) { delete rootProject.buildDir }

Sigue siendo el mismo error.


Aquí está la solución.

El problema era exactamente el repositorio de Maven ( here ), pero el problema era con el build.gradle del complemento cordova-support-google-services , así que agregué la línea requerida y todo está bien ahora, ya he creado un pull solicitud al repositorio original ( here ). Pero mientras tanto, puede hacer lo que hice, simplemente reemplace en el paquete.json la versión actual con mi repositorio:

Antes de:

... "cordova-support-google-services": "^1.3.1", ...

Después:

... "cordova-support-google-services": "https://github.com/LuisEGR/cordova-support-google-services.git", ...

después de eso tendrás que:

  • Eliminar carpetas, plataformas y complementos
  • ejecutar npm install

Esta es una solución temporal mientras se acepta la solicitud de extracción al repositorio principal y se actualiza el paquete npm

y eso es todo, ahora puedes construir tu proyecto nuevamente.

Estoy usando Ionic 4, y algunos complementos requieren cordova-support-google-services , en caso de que no lo tenga en su package.json, el error podría estar con otro complemento, si es así, agregue el package.json para que podamos puede averiguar cuál es el problema.

ACTUALIZACIÓN 24 / OCT:

Cambié la solución en mi repositorio como muchos de ustedes sugirieron, ahora la solución consiste solo en arreglar la dependencia: de: com.android.tools.build:gradle:+ a classpath com.android.tools.build:gradle: 3. + , esto ya está en mi repositorio si quieres ver here


Como una solución temporal adicional para el seguimiento de la suggestion de @MisterSmith, use un gancho para volver a aplicar el bloqueo:

<hook src="scripts/fix_android_dep.sh" type="after_platform_add"/>

con este código bash excesivamente prolijo:

#!/usr/bin/env bash ## temporary fix for android studio EAP issue ## SOURCE: https://.com/a/58536638/56545 if [ -d "platforms/android/cordova-support-google-services" ]; then file="platforms/android/cordova-support-google-services/app-build.gradle" from="classpath ''com.android.tools.build:gradle:+''" to="classpath ''com.android.tools.build:gradle:3.5.1''" change=`sed "s/$from/$to/" < "$file"` echo "$change" > "$file" fi


El problema radica en el complemento cordova-support-google-services para Cordova.

build.gradle este complemento se ve así a partir de hoy (24 de octubre de 2019):

dependencies { classpath ''com.android.tools.build:gradle:+'' classpath ''com.google.gms:google-services:4.2.0'' }

Más exactamente el problema radica en esta dependencia:

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

Esa es una forma extremadamente frágil de especificar dependencias. El signo ''+'' aquí significa "buscar la versión más reciente disponible en el repositorio". Si se publica una versión más nueva en el repositorio, y se rompe la compilación, entonces todos los que tengan este complemento tienen sus proyectos interrumpidos. Esto sucedió hoy. La versión rota que se está buscando es com.android.tools.build:gradle:4.0.0 . Requiere algunas cosas de Kotlin.

Es por eso que SIEMPRE necesita congelar las dependencias para construir su proyecto de manera confiable. Nunca confíes en las cosas más nuevas. Esta dependencia se compila bien tal como lo hizo ayer:

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

Para aquellos que usan Cordova o Ionic, puede hacer una solución rápida para poder construir el proyecto congelando la dependencia en el archivo:

<projectroot>/platforms/android/cordova-support-google-services/<project>-build.gradle

Sin embargo, esta no es una solución definitiva. Si reinstala la plataforma de Android a través de Cordova, el error volverá a aparecer. El responsable del proyecto debe congelar la dependencia o arreglarla para que soporte gradle 4.0.0. Mientras tanto, solo use una bifurcación fija de este complemento.


Nada de lo anterior funcionó para mí. Terminé eliminando el complemento de servicios de google y lo agregué.

cordova plugin rm cordova-support-google-services cordova plugin add cordova-support-google-services


Solución para iónico v3 y cordova

La solución de @Mister Smith resolvió mi problema

tienes que ir al archivo

platforms/android/cordova-support-google-services

entonces

Reemplazar

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

por

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

@La solución alternativa que he encontrado es

setup kotlin in your system :)


en mi proyecto lo arreglo así (mi proyecto en kotlin)

buildscript{ repositories { google() jcenter() ...... maven { url ''https://dl.bintray.com/kotlin/kotlin-eap'' } } } allprojects { repositories { google() jcenter() ...... maven { url ''https://dl.bintray.com/kotlin/kotlin-eap'' } } }