Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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.

  • Android Studio 2.1 ejecución instantánea java.lang.OutOfMemoryError: Límite de sobrecarga de GC superado
  • Aplicación para Android que comienza lentamente - dex2oat El código postal está ausente. Cancelado - Gradle 2.10
  • La conexión de Android Studio ADB deja caer el dispositivo conectado por cable desde 2.2 en Macintosh
  • Android Instant Ejecutar compilaciones lentas
  • Androide InstantRun - Norton Security encuentra troyanos
  • Android Studio 2.0 ejecutar instantáneamente no funciona, pero aparecen estos consejos?
  • 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' 

  • Diferencia entre build.gradle (Project) y build.gradle (Module)
  • No, minSdk (API 15)> deviceSdk (API1) en el android studio
  • Android Studio: Añadir jar como biblioteca?
  • Android Studio, logcat limpia después de cerrar la aplicación
  • Android Instant Ejecutar compilaciones lentas
  • Cómo cambiar el emulador de destino en Android Studio?
  • 4 Solutions collect form web for “La ejecución instantánea toma más tiempo que las compilaciones estándar”

    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:

    https://developers.google.com/android/guides/setup

    Habilitar ejecución instantánea

    1. Abra el cuadro de diálogo Configuración o Preferencias.
    2. Vaya a Compilación, Ejecución, Implementación> Ejecución instantánea.
    3. 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

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.