update tools supported studio plugin library failed current android cordova gradle ionic3

android - tools - minimum supported gradle version is 4.4. current version is 4.1 ionic



No se puede ejecutar la aplicación Ionic después de la actualización a Android Studio 3.0 (9)

Añadir esto en la compilación de Android. Dependle dependencias. Eso es todo.

compile project('':CordovaLib'')

Por ejemplo:

dependencies { compile fileTree(dir: ''libs'', include: ''*.jar'') // SUB-PROJECT DEPENDENCIES START //debugCompile(project(path: "CordovaLib", configuration: "debug")) //releaseCompile(project(path: "CordovaLib", configuration: "release")) compile project('':CordovaLib'') compile "com.android.support:support-v4:24.1.1+" compile "com.google.android.gms:play-services-analytics:+" // SUB-PROJECT DEPENDENCIES END }

Aquí está mi información jónica

paquetes cli: (/ Users / billb / dev / customer-mkt-app / node_modules)

@ionic/cli-utils : 1.15.2 ionic (Ionic CLI) : 3.15.2

paquetes globales:

cordova (Cordova CLI) : 7.0.1

paquetes locales:

@ionic/app-scripts : 3.0.1 Cordova Platforms : android 6.2.3 ios 4.4.0 Ionic Framework : ionic-angular 3.3.0

Sistema:

Android SDK Tools : 26.1.1 ios-deploy : 1.9.2 Node : v6.11.5 npm : 3.10.10 OS : macOS Sierra Xcode : Xcode 9.0.1 Build version 9A1004

Variables de entorno:

ANDROID_HOME : /Users/billb/Library/Android/sdk

Misceláneo

backend : pro

Puedo construir la aplicación con éxito. Cuando trato de abrirlo en Android Studio, recibo un puñado de errores, en su mayoría alrededor de una falla de sincronización de Gradle. Aquí están los 5 errores en la consola de Mensajes.

No se puede resolver la dependencia para '': @ debug / compileClasspath'': No se pudo resolver el proyecto: CordovaLib. No se pudo resolver el proyecto: CordovaLib.

Requerido por: proyecto:

Proyecto: declara una dependencia desde la configuración ''debugCompile'' a la configuración ''debug'' que no se declara en el descriptor para el proyecto>: CordovaLib.

No se puede resolver la dependencia para '': @ debugAndroidTest / compileClasspath'': No se pudo resolver el proyecto: CordovaLib. No se pudo resolver el proyecto: CordovaLib.

Requerido por: proyecto:

Proyecto: declara una dependencia desde la configuración ''debugCompile'' a la configuración ''debug'' que no se declara en el descriptor para el proyecto>: CordovaLib.

No se puede resolver la dependencia para '': @ debugUnitTest / compileClasspath'': No se pudo resolver el proyecto: CordovaLib. No se pudo resolver el proyecto: CordovaLib.

Requerido por: proyecto:

Proyecto: declara una dependencia desde la configuración ''debugCompile'' a la configuración ''debug'' que no se declara en el descriptor para el proyecto>: CordovaLib.

No se puede resolver la dependencia para '': @ release / compileClasspath'': No se pudo resolver el proyecto: CordovaLib.

No se pudo resolver el proyecto: CordovaLib. Requerido por: proyecto:

Proyecto: declara una dependencia de la configuración ''releaseCompile'' a la configuración ''release'' que no se declara en el descriptor del proyecto: CordovaLib.

No se puede resolver la dependencia para '': @ releaseUnitTest / compileClasspath'': No se pudo resolver el proyecto: CordovaLib.

No se pudo resolver el proyecto: CordovaLib. Requerido por: proyecto:

Proyecto: declara una dependencia de la configuración ''releaseCompile'' a la configuración ''release'' que no se declara en el descriptor del proyecto: CordovaLib.

Realmente no sé qué significa esto y Google no ha encontrado nada de ayuda real. ¿Qué necesito hacer aquí?

Nota: descubrí esto después de publicar esto. Retransmitiéndolo aquí en caso de que ayude a alguien más.

No actualices a Android Studio 3


Comenté las siguientes líneas en el archivo build.gradle:

//debugCompile project(path: ''CordovaLib'', configuration: ''debug'') //releaseCompile project(path: ''CordovaLib'', configuration: ''release'')

y agregado:

compile project('':CordovaLib'')

Esto funcionó para mí.


Cuando se enfrenta a este tipo de problema, simplemente degrade la versión de gradle a 2.2.3 y vuelva a sincronizar el proyecto que funcionará.


Entonces, solo pasé dos días luchando contra esto y encontré una solución semi-manual.

Debido a que Gradle decidió eliminar el formato de dependencia sin ningún período de gracia para la migración, nos vemos obligados a hacer cosas como esta.

(Instrucciones bajo Linux. Para Windows necesitarías 7zip o algo similar para el último paso)

Desde el directorio de inicio de su usuario, vaya a .cordova/lib/npm_cache/cordova-android .
Allí, debe haber una o más carpetas con números de versión.
Normalmente solo se ejecuta la última versión.
Abrelo.
Elimine el directorio del package , pero no el archivo package.tgz .
Desempaquete el archivo package.tgz , luego elimínelo o muévalo a una ubicación de respaldo. (hay algunos archivos adicionales generados que no queremos volver a empaquetar más adelante)
Edite el package/bin/templates/cordova/lib/plugin-build.gradle archivos package/bin/templates/cordova/lib/plugin-build.gradle y las dependencies internas eliminan estas líneas

debugCompile project(path: ":CordovaLib", configuration: "debug") releaseCompile project(path: ":CordovaLib", configuration: "release")

Reemplazarlos con

implementation project(path: ":CordovaLib")

Archivar el directorio de paquetes. En Linux, el comando corto es tar czf package.tgz package . En Windows, tendría que crear un archivo .tar.gz con 7zip y cambiarle el nombre a .tgz .

Después de eso, al ejecutar un cordova prepare en un repositorio limpio que funcionó con las versiones anteriores y funcionará de nuevo, a menos que algunos de los complementos usen explícitamente el formato de declaración anterior y deban actualizarse ( example )


Esta es mi configuración de gradle.build :

dependencies { implementation fileTree(dir: ''libs'', include: ''*.jar'') // SUB-PROJECT DEPENDENCIES START implementation(project(path: "CordovaLib")) implementation(project(path: "cordova-social-ok:odnoklassniki-android-sdk")){ exclude module:("CordovaLib") } implementation(project(path: "cordova-social-vk:vksdk_library")){ exclude module:("CordovaLib") } compile "com.onesignal:OneSignal:3.7.1" compile "com.facebook.android:facebook-android-sdk:4.+" // SUB-PROJECT DEPENDENCIES END }

Pero todavía tengo este error:

* What went wrong: Could not determine the dependencies of task '':cordova-social-ok:odnoklassniki-android-sdk:compileReleaseAidl''. > Could not resolve all task dependencies for configuration '':cordova-social-ok:odnoklassniki-android-sdk:releaseCompileClasspath''. > Could not resolve project :CordovaLib. Required by: project :cordova-social-ok:odnoklassniki-android-sdk > Project :cordova-social-ok:odnoklassniki-android-sdk declares a dependency from configuration ''releaseCompile'' to configuration ''release'' which is not declared in the descriptor for project :CordovaLib.

Además, este es un proyecto de Cordova, por gradle.build archivo gradle.build se gradle.build , por lo que no puedo modificarlo.


Este es un problema conocido. Puede encontrar el problema relacionado con la jira here y el problema subyacente es este y ambos están "en progreso". Y ya hay una solicitud de extracción en github que puedes probar, pero no puedo prometerte que ya es una versión funcional. Puedes instalarlo así si quieres probar eso:

cordova platform add https://github.com/infil00p/cordova-android.git#StudioThreeFix


Ok, encontré una solución.

Yo estaba usando Córdova-Android: 6.3.0. Actualicé la versión a 7.1.0 y luego cambié esta línea en el archivo config.xml

antes era

<preference name="android-minSdkVersion" value="16" />

Ahora estoy usando:

<preference name="android-minSdkVersion" value="19" />

De esta manera, Android build.gradle está funcionando de nuevo sin tener que cambiar esas líneas en build.gradle .


Si está utilizando Cordova build.gradle se genera automáticamente y la próxima vez que compile el proyecto, el cambio en la respuesta aceptada anterior se sobrescribirá al anterior que no funciona.

Así que edite las plataformas / android / cordova / lib / builder / GradleBuiler.js Comente las líneas 136-139 y agregue la siguiente línea

/*depsList += '' debugCompile(project(path: "'' + libName + ''", configuration: "debug"))''; insertExclude(p); depsList += '' releaseCompile(project(path: "'' + libName + ''", configuration: "release"))''; insertExclude(p); */ depsList += " compile project('':CordovaLib'')"; insertExclude(p);


Si obtienes este tipo de error en Android Studio 3.0.1:

Unable to resolve dependency for :@debug/compileClasspath’: Could not resolve project :CordovaLib.

Ir al archivo build.gradle -> encontrar dependencias y cambiarlo de esta manera

dependencies { compile fileTree(dir: ''libs'', include: ''*.jar'') // SUB-PROJECT DEPENDENCIES START //debugCompile(project(path: "CordovaLib", configuration: "debug")) //releaseCompile(project(path: "CordovaLib", configuration: "release")) compile project('':CordovaLib'') // SUB-PROJECT DEPENDENCIES END }