La ejecución instantánea toma más tiempo que las compilaciones estándar
Ha pasado algún tiempo que Instant Run ya no funciona, es decir, es más lento que las compilaciones estándar.
Hay algún material en el rastreador de errores de AOSP, pero no pude resolverlo. Estoy seguro de que algunos de ustedes lo ayudarán.
- ¿Cómo usar nuevo Android 2.0 Shrinker y setProPropertor falsa?
- La pantalla del emulador de Android llena sólo una parte de fracción de la pantalla del emulador de Android actual
- ¿Cómo se agrega un módulo de reloj a un proyecto de Android Studio existente?
- ¿Cómo puedo utilizar las bibliotecas de soporte de android v4 y v13 en el mismo proyecto?
- Vista previa no mostrada en Android 3.0 Canary
Sin ejecución instantánea
Las construcciones tardan aproximadamente 1.30 min.
Con Instant Run
Ejecuto la aplicación por primera vez y luego aplico algún cambio menor. Por ejemplo, cambie int a = 1
a int a = 2
dentro de un método, o modifique una cadena.
A continuación, haga clic en Ejecutar de nuevo. Lo que pasa:
- Aparece una compilación aparentemente completa (llamando a
assembleDebug
en todos mis módulos). Toma aproximadamente 1.30 min. -
Una segunda ronda continúa, llamando a la
app:assembleDebug
. Se tarda alrededor de otro minuto:16:27:10 Executing tasks: [:app:assembleDebug] 16:28:16 Gradle build finished in 1m 5s 264ms 16:28:22 Instant Run applied code changes and restarted the app.
Durante la primera ronda, no hay salida alguna a Event Log o Gradle Console. Durante la segunda ronda, la consola Gradle consume mucho material y termina con
BUILD SUCCESSFUL Total time: 51.385 secs PREDEX CACHE HITS: 0 PREDEX CACHE MISSES: 45 Stopped 0 compiler daemon(s).
¿Que puedo hacer?
Tengo estos en mi archivo de grade.properties
:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true
Nada dex relacionado en archivos build.gradle
. No usar a Jack. Android Studio 2.2.3.
Archivo gradle.properties
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true ANDROID_BUILD_MIN_SDK_VERSION=15 ANDROID_BUILD_TARGET_SDK_VERSION=25 ANDROID_BUILD_SDK_VERSION=25 ANDROID_BUILD_TOOLS_VERSION=25.0.2
Nivel de proyecto build.gradle
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' classpath 'com.google.gms:google-services:3.0.0' } } allprojects { repositories { jcenter() } }
Módulo principal build.gradle
(Tengo otros dos módulos de la "biblioteca" también)
apply plugin: 'com.android.application' Properties signProp = new Properties() signProp.load(new FileInputStream(file(project.property("SIGN_PROPS")))) Properties authProp = new Properties() authProp.load(new FileInputStream(file(project.property("AUTH_KEYS_PROPS")))) def PARSE_APPLICATION_ID = '"' + authProp['parseApplicationId'] + '"'; def PARSE_CLIENT_KEY = '"' + authProp['parseClientKey'] + '"' def PARSE_SERVER_URL = '"' + authProp['parseServerURL'] + '"' def GOOGLE_PLAY_API_KEY = '"' + authProp['googlePlayApiKey'] + '"' android { signingConfigs { release_config { keyAlias signProp['keyAlias'] keyPassword signProp['keyPassword'] storeFile file(signProp['storeFilePath']) storePassword signProp['storePassword'] } } compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) versionCode 21 versionName "1.3.3" buildConfigField 'String', 'PARSE_APPLICATION_ID', PARSE_APPLICATION_ID buildConfigField 'String', 'PARSE_CLIENT_KEY', PARSE_CLIENT_KEY buildConfigField 'String', 'PARSE_SERVER_URL', PARSE_SERVER_URL buildConfigField 'String', 'GOOGLE_PLAY_API_KEY', GOOGLE_PLAY_API_KEY signingConfig signingConfigs.release_config proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' vectorDrawables.useSupportLibrary = true } buildTypes { release { minifyEnabled true shrinkResources true } debug { minifyEnabled false shrinkResources false } } productFlavors { } } dependencies { compile 'com.android.support:design:24.2.1' compile 'com.android.support:cardview-v7:24.2.1' compile 'com.android.support:recyclerview-v7:24.2.1' compile 'com.android.support:preference-v14:24.2.1' compile 'com.google.maps.android:android-maps-utils:0.4.3' compile 'com.google.android.gms:play-services-maps:9.2.1' compile 'com.google.android.gms:play-services-appinvite:9.2.1' compile 'com.google.android.gms:play-services-location:9.2.1' compile 'com.google.android.gms:play-services-appindexing:9.2.1' compile ('com.facebook.android:facebook-android-sdk:4.16.1') { exclude module: 'bolts-tasks' } compile 'com.parse.bolts:bolts-tasks:1.4.0' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'com.parse:parse-android:1.13.1' compile ('com.parse:parseui-widget-android:0.0.1') { exclude module: 'parse-android' } compile project(':dateTimePicker') compile project(':commons') } apply plugin: 'com.google.gms.google-services'
- Aclaración sobre Android "La elevación de atributo se utiliza sólo en el nivel API 21 y superior"
- Excepción en el complemento de Android del complemento
- ¿Puede Android Studio convertir la secuencia de comandos de construcción de hormigas en la secuencia de comandos de gradle build?
- Android Studio no pudo encontrar un Jvm válido (relacionado con MAC OS)
- Cómo probar los valores de TextInputLayout (sugerencia, error, etc.) usando Android Espresso?
- Android Studio se bloquea al buscar documentación
- Android Studio - ProGuard "java.io.IOException ... bin \ classes (Ningún archivo o directorio)"
- No se puede actualizar desde la versión 2.1.1 a la vista previa 2.2 en el estudio android
http://tools.android.com/recent/androidstudio223isnowavailable
Actualiza a la última versión de Android Studio y luego aumenta el perfil de memoria en (studio.vmoptions) basado en la memoria del sistema
-Xms256m -Xmx1280m -XX:MaxPermSize=350m
Si estás utilizando los servicios de Google Play, asegúrate de no usarlo en el script de compilación de Gradle:
compile 'com.google.android.gms:play-services:8.3.0'
Utilice únicamente las API de Google que su aplicación está usando realmente. Si todo lo que estás usando es Google Maps, usarías esto:
com.google.android.gms:play-services-maps:8.3.0
Cuando hice esto, mi tiempo de compilación pasó de más de 2 minutos a alrededor de 25 segundos. Para obtener una lista de los API de Google que puede compilar selectivamente, consulte:
Habilitar ejecución instantánea
- Abra el cuadro de diálogo Configuración o Preferencias.
- Vaya a Compilación, Ejecución, Implementación> Ejecución instantánea.
- Marque la casilla junto a Habilitar ejecución instantánea.
Limitaciones de la ejecución instantánea.
Implementación de varios dispositivos, Multidifusión de la aplicación, Uso de complementos de terceros, Pulsación de cambios en aplicaciones de procesos múltiples, Inicio de la aplicación en un perfil de trabajo.
Si utiliza soporte multidex (multiDexEnabled true) para su aplicación, minSdkVersion debe tener 21 o más. De lo contrario, android studio desactiva la ejecución instantánea.
El complemento de Android para la versión gradle debe ser 2.1.0 o superior
Habilitar Offline Trabajo android studio para acelerar:
Ir a la configuración del archivo >> o simplemente pulsar ctrl + alt + s
Archivo >> ajustes >> Gradle. Compruebe el trabajo fuera de línea en la configuración de graduación global
Mejorar el rendimiento de Gradle
Después de abrir el estudio android, abra el archivo gradle.properties desde el lado derecho de android studio y agregue las dos líneas siguientes.
org.gradle.jvmargs=-Xmx1536m org.gradle.daemon=true org.gradle.parallel=true
Configurar variantes de compilación de depuración en buildTypes
debug { minifyEnabled false applicationIdSuffix ".debug" }
Después de los cambios, debes reiniciar tu Android Studio.
Nota: El tiempo de compilación depende del procesador y la RAM. Me di cuenta en (i7-3610qm con 8gb RAM) cuando se compila 4 android proyecto de estudio a la vez, luego lento responder en la ventana. Después de terminar el proceso de construcción pc funciona normal.
Mantener las versiones bulit y la versión de destino iguales
- UIL, Picasso – Las imágenes en adaptador siempre se recargan cuando se detiene el desplazamiento
- Android 5 Mala notificación enviada desde el paquete