Intereting Posts
Android: изменение абсолютной позиции представления программно Android Gradle добавляет внешнюю библиотеку и вложенные внешние библиотеки в проект Кнопки компоновки, чтобы каждый разделил пространство равным образом Как развернуть приложение Android для устройств тестера бета-тестирования Android: Удалить ключ ввода с клавиатуры Как передать данные от 2-го действия до 1-го действия при нажатии? – Андроид Как добавить библиотеки поддержки Android v7 в eclipse? Как включить CardView в ViewPager Фильтровать ListView с помощью массива Как вы указываете в AndroidManifest.xml, что вы хотите запретить установку на устройствах размером менее 4,7-дюймового устройства? Android: проблема с записью Dx: уже подготовлен TranslateAnimated ImageView не доступен после анимации Как нарисовать растровое изображение на Android с помощью OpenGL TextView, который связан и доступен для выбора? Android SDK требует инструментария разработчика Android версии 17.0.0 или выше

Мгновенный запуск занимает больше времени, чем стандартные сборки

Прошло некоторое время, когда Instant Run больше не работает, то есть он медленнее, чем стандартные сборки.

В AOSP есть некоторые материалы, но я не мог с этим справиться. Я уверен, что некоторые из вас помогут.

Без мгновенного запуска

Сборка занимает около 1,30 мин.

С мгновенным запуском

Я запускаю приложение в первый раз, а затем применяю некоторые незначительные изменения. Например, измените int a = 1 на int a = 2 внутри метода или измените строку.

Затем нажмите снова запустите. Что происходит:

  • Происходит, по-видимому, полная сборка (вызов assembleDebug для всех моих модулей). Берет около 1,30 мин.
  • Второй раунд продолжается, вызывая просто app:assembleDebug . Это займет еще одну минуту:

     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. 

Во время первого раунда нет выходных данных в журнале событий или в Gradle Console. Во втором раунде Консоль Gradle выводит много материала и заканчивается

 BUILD SUCCESSFUL Total time: 51.385 secs PREDEX CACHE HITS: 0 PREDEX CACHE MISSES: 45 Stopped 0 compiler daemon(s). 

Что я могу сделать?

У меня это в файле grade.properties :

 org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true 

Ничего не связано с dex в файлах build.gradle . Не использовать Джек. Android Studio 2.2.3.


Файл 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 

Уровень проекта 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() } } 

Основной модуль build.gradle

(У меня есть и еще два модуля библиотеки)

 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' 

Solutions Collecting From Web of "Мгновенный запуск занимает больше времени, чем стандартные сборки"

http://tools.android.com/recent/androidstudio223isnowavailable

Обновите последнюю версию Android Studio, а затем увеличьте профиль памяти (studio.vmoptions) на основе вашей системной памяти

  -Xms256m -Xmx1280m -XX:MaxPermSize=350m 

Если вы используете службы Google Play, убедитесь, что вы не используете это в своем скрипте сборки Gradle:

 compile 'com.google.android.gms:play-services:8.3.0' 

Используйте только те API Google, которые действительно используют ваше приложение. Если вы используете Google Карты, вы должны использовать это:

 com.google.android.gms:play-services-maps:8.3.0 

Когда я это сделал, время компиляции прошло от 2 минут до 25 секунд. Список списка Google, который вы можете выборочно компилировать, см. В разделе:

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

Включить мгновенный запуск

  1. Откройте диалоговое окно «Настройки» или «Настройки».
  2. Перейдите к сборке, выполнению, развертыванию> Instant Run.
  3. Установите флажок Включить мгновенный запуск.

Ограничения мгновенного запуска.

Развертывание на несколько устройств, Многопользовательское приложение, Использование сторонних плагинов, Нажатие изменений в приложениях с несколькими процессами. Запуск приложения в профиле работы.

Если вы используете поддержку multidex (multiDexEnabled true) для вашего приложения, minSdkVersion должен быть 21 или выше. В противном случае студия Android отключит Instant Run.

Плагин Android для версии с градиентом должен быть 2.1.0 или выше

Включить автономную рабочую студию Android для ускорения:

Перейдите в файл >> настройки или просто нажмите ctrl + alt + s

Файл >> настройки >> Gradle. Проверьте работу в автономном режиме в разделе «Глобальная шкала»

Улучшить производительность колышек

После открытия студии Android откройте файл gradle.properties с правой стороны студии android и добавьте следующие две строки.

  org.gradle.jvmargs=-Xmx1536m org.gradle.daemon=true org.gradle.parallel=true 

Настройка вариантов сборки отладки в buildTypes

 debug { minifyEnabled false applicationIdSuffix ".debug" } 

После изменений вы должны перезапустить Android Studio.

Примечание. Время сборки зависит от вашего процессора и оперативной памяти. Я заметил в (i7-3610qm с 8gb ram), когда вы компилируете 4 проекта студии Android в то же время, а затем медленно реагируете на окно. После завершения процесса сборки ПК работает нормально.

Поддерживайте версии bulit и целевую версию как таковые