Android gradle de construcción es demasiado lento (Dependency Resolution)
He estado trabajando con Android Studio (mi versión actual 1.5) durante 2 años. Todo estaba bien, pero cuando descargué Canary (2.1 p5), todo salió mal. Cada vez que quiero crear un nuevo proyecto o abrir un proyecto o sincronizar o importar un nuevo lib o dependencia, gradle está tomando demasiado tiempo para construir – casi 20 minutos .
No hice nada, acabo de descargar la versión Canaria y lo corrí.
- Copie el constructor usando "initWith" para "productFlavors" y "sourceSets"
- Problema de actualización en la versión de herramientas de compilación de gradle de 1.2.3 a 1.3.1
- Capacidad para resolver dependencias de módulos dinámicamente basadas en la versión
- Lint falla en la compilación con el error de seguridad "WrongConstant: Incorrect constant". Anotación de IntDef
- No se encontró ningún recurso que coincida con el nombre dado: attr 'android: actionModeShareDrawable'
Síntomas:
- Sucedió cuando me conecté a Internet
- El primer retardo está en Gradle: Resolve dependencies ': app: _debugCompile'
- …
- Después de 25 minutos de construcción casi terminado
Nota : Cuando desconecto mi Internet, gradle terminará lo más rápido posible
Traté de arreglar esto de estas maneras :
- Cambié el gradle al trabajo en línea (funcionó pero no quiero esta manera, porque quiero importar libs o dependencias)
-
He creado un nuevo archivo (nombre de archivo es
gradle.properties
) enC:\Users\username\.gradle
luego escribió estas líneas en élorg.gradle.parallel=true org.gradle.daemon=true
-
Quité esa versión entonces instalé mi versión vieja que trabajó ACEPTABLE pero el problema estaba todavía allí: (
-
Deshabilitar / habilitar firewall
-
Deshabilitar / Habilitar AntiVirus (Nod32)
-
Reinstale el sistema operativo Windows (8.1)
-
He descargado todas las versiones (1.0.0, …, 1.5.1, 2.0.0, 2.1)
-
He utilizado un proxy
Información del sistema :
- CPU: Intel Core i5
- Ram: 6.00 GB
- Sistema operativo: Windows 8.1 64 bit
Build.gradle (Proyecto: appName)
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.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 }
Gradle.build (Módulo: app)
apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.example.test.myapplication" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:23.3.0' }
Informe Gradle después de la construcción
Dependencies Duration All dependencies 14m3.43s :app:_releaseCompile 3m30.96s :app:_debugCompile 3m30.73s :app:_debugApk 3m30.69s :app:_releaseApk 3m30.62s :classpath 0.428s :app:_debugAndroidTestCompile 0.001s :app:_debugAndroidTestApk 0s :app:_debugUnitTestApk 0s :app:_debugUnitTestCompile 0s :app:_releaseUnitTestApk 0s :app:_releaseUnitTestCompile 0s :app:releaseWearApp 0s :app:wearApp 0s
Después de instalar android studio 2.0 stable version
- 7:23:47 PM Gradle sync started ====> 8:13:21 PM Gradle sincronizado completado
- Dependencia de la biblioteca de Android Gradle con la dependencia de la biblioteca mediante Nexus
- La clase generada para Component of Dagger 2 no se encuentra en compileTestJava del complemento Java de Gradle
- ¿Cómo usar resValue?
- No se puede crear una aplicación cuando se usa gradle (Android Studio) y local maven repo
- ¿Por qué hay dos archivos build.gradle en un proyecto de Android Studio?
- El selector de dispositivos de Android Studio se muestra antes de completar Gradle Build
- ¿Cómo usar todos los núcleos / subprocesos de la CPU cuando ejecuta Android Studio gradle build?
- Dependencias no agregadas al archivo POM - Android Gradle Maven Publishing
El problema esta resuelto !
Después de 2 días de búsqueda, tengo la solución, por lo que me gustaría compartir con todas las personas que pueden tener el mismo problema. El problema es que gradle
no puede conectarse al repositorio central en algún país. Cuando crea un nuevo proyecto o importa, su repositorio central es jcenter()
de forma predeterminada y siempre que quiera crear o sincronizar o agregar una nueva dependencia externa, gradle
se va a conectar a https://bintray.com/ pero no puede Y el proceso de construcción va a esperar hasta conectar a jcenter()
, por lo que este proceso puede tardar mucho tiempo (+30 min), incluso no se puede agregar nueva dependencia.
Solución:
- Asegúrese de tener la última versión estable (actual 2.0.0)
- Asegúrese de que su versión gradle es 2.0.0 en build.gradle (
classpath 'com.android.tools.build:gradle:2.0.0'
) - El paso final y el más importante es cambiar tu jcenter () a mavenCentral ()
Así que usted puede agregar fácilmente nueva dependencia y sincronizar el proyecto en 3sec!
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir }
Que te diviertas
Además de @Mehdi Jahed Manesh respuesta anterior.
Aumentar la cantidad de memoria asignada a la VM de Gradle Daemon en 1 Gb, a un mínimo de 2 Gb, utilizando la propiedad org.gradle.jvmargs
Org.gradle.jvmargs = -Xmx2048m
He visto otro problema. La solución podría ayudar a alguien
Recientemente he establecido http_proxy y https_proxy bajo las variables de entorno del sistema. Tuve que eliminar ambos y luego establecer el proxy en la configuración de estudio.
En mi caso, lo solucioné instalando una nueva versión del Java JDK. Después de instalar el nuevo JDK, abra AS, vaya a Archivo → Estructura del proyecto → Ubicación del SDK y cambie la ubicación de JDK a la de la nueva versión del Java JDK. A continuación, se le pedirá permiso de firewall; Marque Público y aplique. Deje que se resuelva gradle.
Cambiar classpath 'com.android.tools.build:gradle:1.5.0'
a
classpath 'com.android.tools.build:gradle:2.0.0'
Y cambie buildToolsVersion "23.0.3"
a
buildToolsVersion "23.0.2"
Y el uso del androide estudio 2.0 versión estable. Déjame saber que quieres más detalles o esta solución no te funcionó.