Ускоряем Gradle Build в Android Studio: 9 способов увеличить скорость сборки. Android studio оптимизация
android - Android Studio работает медленно (как ускорить)?
Недавно я обновился от Eclipse до Android Studio, и мне не очень нравится этот опыт. Я сравниваю их как с Windows 7 64-разрядной версией с 16 ГБ оперативной памяти, так и Intel i7 4770, работающей с NVidia Geforce 780 с новейшей версией NVidia драйверов, если это имеет значение, и я запускаю последнюю версию JDK и последнюю версию Android Studio.
Android Studio очень медленна в создании проекта, с которым я могу жить, но он также чрезвычайно ресурсоемкий, а иногда и замедляет работу ПК до обхода.
Всякий раз, когда я создаю или запускаю что-либо в AS, мой компьютер, кажется, становится очень вялым. Это также вызывает мерцание экрана и иногда гашение моего второго монитора, если я нажму на "Gradle build running" spinner, который я нахожу очень странным. Использование ОЗУ также увеличивается до ~ 3 ГБ, что я считаю чрезмерным для того, чтобы ничего не делать (это когда он простаивает после нескольких сборок).
Кроме того, панели в нижней части AS продолжают прыгать вокруг, что является ужасным пользовательским интерфейсом (от Android до Messages до Version Control или что-либо еще на разовой основе в зависимости от того, что происходит, очень, очень раздражает).
То, что я хотел бы знать, в основном:
1) Как заставить Android Studio работать лучше? Я могу делать что-то неправильно или пропускать некоторые обновления, о которых я не знаю, и я уверен, что другие также заметили это поведение и нашли для него некоторые решения.
2) Как "прикрепить" нижние панели так, чтобы они не прыгали, а вместо этого, позвольте мне, пользователю, перейти к ним, когда я захочу, вместо того, чтобы автоматически их переключаться?
Большое спасибо и мои извинения снова, если это не правильное место для этих вопросов.
Изменить 1 Еще несколько комментариев:
- Я использую последнюю версию stable на сегодняшний день. Строка Android Studio 1.2.2 Build # AI-141.1980579, Build on June 3, 2015
- Поведение происходит при использовании Java 7 или 8. Это, похоже, не связано с версией Java.
- Я не использую режим презентации. Просто вид ванили.
- Выполнение изменений в конфигурации сборки (спасибо @Blackbelt и его ответ), похоже, помогло с сборкой, но остались проблемы с медлительностью и общим пользовательским интерфейсом.
qaru.site
Ускоряем Gradle Build в Android Studio: 9 способов увеличить скорость сборки
В этой статье мы рассмотрим систему сборки Android проектов Gradle. Также узнаем почему она такая медленная и рассмотрим 9 способов ускорить сборку Gradle проекта в Android Studio.
Что такое Gradle?
Gradle — это система сборки проектов. Она является следующим шагом в эволюции инструментов сборки на основе виртуальной Java машины (JVM). Gradle вобрал в себя лучшие идеи существующих инструментов (Ant и Maven), а также добавил больше гибкости и свободы в конфигурации сборки.
Кроме преимуществ новый подход несет и новые проблемы: даже самый простой Gradle вызов происходит довольно медленно. На ноутбуке среднего класса запуск простой задачи с выводом списка доступных задач проекта занимает не меньше 10 секунд. Официальная IDE для разработки Android приложений — Android Studio и в ней используется Gradle.
Android проекты становятся все более сложными, набирает популярность модульный подход разработки, поэтому производительность в новых реалиях имеет решающее значение. Увеличение скорости сборки проекта всего на несколько секунд дает хороший прирост в производительности.
Как увеличить скорость сборки проекта
Ниже я собрал методы, которые использую при сборке Gradle проекта:
1. Убедитесь, что вы всегда используете последнюю версию Gradle.
Как правило, с каждым новым обновлением существует значительное улучшение производительности. Если вовремя ставить новые версии и обновления, которые Android Studio предлагает сразу после загрузки, то проблем с устаревшей версией Gradle быть не должно.
2. Постарайтесь свести к минимуму использование модулей
Иногда приходится форкнуть какую-то библиотеку, чтобы кое-что подправить или изменить под свои нужды. Избегайте таких ситуаций, так как сборка модуля занимает в ~4 раза больше времени, чем любая jar или aar зависимость. Это происходит потому, что модуль каждый раз должен быть перестроен с нуля.
3. Включите автономную работу Gradle
Поставить галочку возле пункта автономной работы можно по пути: Preferences => Build, Execution, Deployment => Build Tools => Gradle. Это не позволит Gradle получить доступ к сети во время сборки и заставит его работать с зависимостями проекта в своем кэше.
Обратите внимание, что эта функция корректно работает только тогда, когда все зависимости уже успешно загружены и сохранены в кэше. Если вам нужно изменить или добавить новую зависимость в файлике build.gradle, то придется отключить опцию автономной работы — иначе «сборка завалится».
4. Используйте Gradle Daemon
Откройте файл gradle.properties в корне вашего проекта и добавьте следующую строчку кода:
org.gradle.daemon=true
Это позволяет сэкономить время, нужное для старта Gradle, так как он становится фоновым процессом. Следует отметить, что после добавление этой опции Gradle будет потреблять еще больше оперативной памяти при сборке проекта.
javadevblog.com
Оптимизация времени сборки в Android Studio
Я попытался создать его:
- параллель (помогает немного)
- Демон = истина
- preDexLibraries true / false (нет большой разницы)
- incremental true
- не в сети
Он занимает 40 секунд КАЖДЫЙ раз. Неважно, я что-то изменю или нет. Построить его после «градации чистой» занимает> 50 секунд.
Надеюсь, что я делаю что-то неправильно. Eclipse / ant может строить последовательные сборки с изменениями в <10 с.
Любая помощь, как принести этот <10s оценили. Да, у нас есть много модулей, некоторые библиотеки jar, некоторые зависимости от maven. По-прежнему не получается, почему он должен принимать> 40 секунд для двух последовательных сборок без каких-либо изменений.
Используемая решетка: 2.2.1 Студия Android: не очень актуальна, обычно создавая ее только с Gradle.
EDIT: добавление некоторых профилирующих журналов.
: приложение: dexProjDebug 22.541s
: приложение: shrinkProjDebugMultiDexComponents 4.279s
: app: compileProjDebugJava 3.478s
: приложение: packageProjDebug 2.591s
: app: processProjDebugResources 2.590s
: app: packageAllProjDebugClassesForMultiDex 2.536s
: app: createProjDebugMainDexClassList 2.126s
Вам необходимо правильно определить входы и выходы даже для проектов библиотек с исходным кодом. ( Gradle Documentation) , Получаете ли вы сообщение UP-TO-DATE, когда вы перестраиваете второй раз?
Если у вас нет изменений в других модулях, вы можете сами создать приложение, используя gradlew :app:build, Это позволит исключить время, которое Gradle тратит на создание других модулей. Вы можете построить любой модуль отдельно, как это, используя gradlew :moduledirectoryname:build, Если вам нужно создать один модуль и приложение, вы можете выполнить обе задачи сразу, чтобы не переходить через стадию конфигурации Gradle дважды: gradlew :app:build :moduledirectoryname:build
Если возможно, обновите до Gradle 2.4. Это значительно быстрее (требуется 20-40%).
Одним из наиболее значительных сокращений времени сборки является задача preDex. Проверьте, работает ли preDex в вашей сборке. Это увеличивает время сборки при первом запуске, но значительно сокращает время сборки в последующих сборках, так как большинство ваших SDK и библиотек уже будут обработаны. Обратите внимание, однако, что он не будет работать при некоторых условиях, например. если вы используете multidex.
Btw Google хорошо знает времена сборки с Gradle и Android Studio и намерены внести существенные улучшения в предстоящие выпуски, в том числе Jack and Jill, которые позволят компилировать исходный код непосредственно в dex. Вы уже можете попробовать поэкспериментировать с ними - см. Здесь: http://tools.android.com/tech-docs/jackandjill ,
Также стоит посмотреть это видео из недавних входов / выходов Google: https://youtu.be/f7ihSQ44WO0?t=327
Загрузите эмулятор Genymotion. Очень быстро и полезно запускать приложения для Android. Это сэкономит вам много времени. Ссылка здесь - GenyMotionDownload
programmerz.ru
Оптимизация времени сборки в Android Studio
Я попытался создать его:
- параллель (помогает немного)
- Демон = истина
- preDexLibraries true / false (нет большой разницы)
- incremental true
- не в сети
Он занимает 40 секунд КАЖДЫЙ раз. Неважно, я что-то изменю или нет. Построить его после «градации чистой» занимает> 50 секунд.
Надеюсь, что я делаю что-то неправильно. Eclipse / ant может строить последовательные сборки с изменениями в <10 с.
Любая помощь, как принести этот <10s оценили. Да, у нас есть много модулей, некоторые библиотеки jar, некоторые зависимости от maven. По-прежнему не получается, почему он должен принимать> 40 секунд для двух последовательных сборок без каких-либо изменений.
Используемая решетка: 2.2.1 Студия Android: не очень актуальна, обычно создавая ее только с Gradle.
EDIT: добавление некоторых профилирующих журналов.
: приложение: dexProjDebug 22.541s
: приложение: shrinkProjDebugMultiDexComponents 4.279s
: app: compileProjDebugJava 3.478s
: приложение: packageProjDebug 2.591s
: app: processProjDebugResources 2.590s
: app: packageAllProjDebugClassesForMultiDex 2.536s
: app: createProjDebugMainDexClassList 2.126s
Вам необходимо правильно определить входы и выходы даже для проектов библиотек с исходным кодом. ( Gradle Documentation) , Получаете ли вы сообщение UP-TO-DATE, когда вы перестраиваете второй раз?
Если у вас нет изменений в других модулях, вы можете сами создать приложение, используя gradlew :app:build, Это позволит исключить время, которое Gradle тратит на создание других модулей. Вы можете построить любой модуль отдельно, как это, используя gradlew :moduledirectoryname:build, Если вам нужно создать один модуль и приложение, вы можете выполнить обе задачи сразу, чтобы не переходить через стадию конфигурации Gradle дважды: gradlew :app:build :moduledirectoryname:build
Если возможно, обновите до Gradle 2.4. Это значительно быстрее (требуется 20-40%).
Одним из наиболее значительных сокращений времени сборки является задача preDex. Проверьте, работает ли preDex в вашей сборке. Это увеличивает время сборки при первом запуске, но значительно сокращает время сборки в последующих сборках, так как большинство ваших SDK и библиотек уже будут обработаны. Обратите внимание, однако, что он не будет работать при некоторых условиях, например. если вы используете multidex.
Btw Google хорошо знает времена сборки с Gradle и Android Studio и намерены внести существенные улучшения в предстоящие выпуски, в том числе Jack and Jill, которые позволят компилировать исходный код непосредственно в dex. Вы уже можете попробовать поэкспериментировать с ними - см. Здесь: http://tools.android.com/tech-docs/jackandjill ,
Также стоит посмотреть это видео из недавних входов / выходов Google: https://youtu.be/f7ihSQ44WO0?t=327
Загрузите эмулятор Genymotion. Очень быстро и полезно запускать приложения для Android. Это сэкономит вам много времени. Ссылка здесь - GenyMotionDownload
programmerz.ru
Настройка Android Studio | YoGo
Android-студия предоставляет мастеров и шаблонов, которые проверяют ваши системные требования, такие как Java Development Kit (JDK) и доступной оперативной памяти, а также настроить параметры по умолчанию, такие как Android Virtual Device (AVD) эмуляции оптимизирован по умолчанию и обновленная система образов. В этом документе описываются дополнительные параметры конфигурации, которые, возможно, захотите использовать для настройки использования Android Studio.
Android Studio обеспечивает доступ к двум файлам конфигурации через Help меню:
- studio.vmoptions: Настройка параметров для программы Studio Java Virtual Machine (JVM), такие как размер кучи и размер кэш - памяти. Обратите внимание , что на машинах Linux этот файл может быть назван studio64.vmoptions, в зависимости от версии Android Studio.
- idea.properties: Настройка Android Studio свойства, такие как путь к папке плагинов или максимально поддерживаемый размер файла.
Для получения более подробной документации о эмулятора и устройства настройки и использования, см Управление виртуальными устройствами , с помощью аппаратных устройств иOEM - драйверы USB .
Найти файлы конфигурации
Оба файла конфигурации хранятся в папке конфигурации для Android Studio. Имя папки зависит от версии студии. Например, Android 2.2 Студия имеет имя папки AndroidStudio2.2. Расположение этой папки зависит от используемой операционной системы:
- Окна: %USERPROFILE%\.<CONFIGURATION_FOLDER>/
- Mac: ~/Library/Preferences/<CONFIGURATION_FOLDER>/
- Linux: ~/.<CONFIGURATION_FOLDER>/
Вы также можете использовать следующие переменные среды, указывающие на конкретные перезаписать файлы в другом месте:
- STUDIO_VM_OPTIONS: Установить имя и местоположение .vmoptions файла
- STUDIO_PROPERTIES: Установить имя и местоположение .properties файла
- STUDIO_JDK: Установить JDK, с помощью которой для запуска студии
Настроить параметры виртуальной машины
studio.vmoptionsФайл позволяет настроить параметры для виртуальной машины Java Android Studio. Для повышения производительности студии, в наиболее распространенный вариант , чтобы настроить максимальный размер кучи, но вы также можете использовать studio.vmoptionsфайл , чтобы переопределить другие параметры по умолчанию , такие как начальный размер кучи, размер кэша, и переключатели сбора мусора Java.
Чтобы создать новый studio.vmoptionsфайл или открыть уже существующий, выполните следующие действия:
- Нажмите Помощь > Редактировать пользовательские Параметры VM . Если вы никогда не отредактирован опции VM для Android Studio и прежде, IDE предложит создать новый studio.vmoptionsфайл. Нажмите кнопку Да , чтобы создать файл.
- studio.vmoptionsФайл открывается в окне редактора Android Studio. Измените файл , чтобы добавить свои собственные индивидуальные варианты VM. Полный список настраиваемых параметров виртуальной машины Java, Oracle, см страницу Java HotSpot VM Options .
studio.vmoptionsФайл , созданный вами добавляется к умолчанию studio.vmoptionsфайл, расположенный в bin/директории внутри вашей папке установки Android Studio.
Обратите внимание , что вы никогда не должны напрямую редактировать studio.vmoptionsфайл находится внутри папки программы для Android Studio. В то время как вы можете получить доступ к файлу для просмотра по умолчанию параметры VM студии, в редактировании только свой собственный studio.vmoptionsфайл гарантирует , что вы не отменяют важные параметры по умолчанию для Android Studio. Таким образом, в вашем studio.vmoptionsфайле, переопределить только атрибуты , которые вы небезразличны и позволить Android Studio продолжать использовать значения по умолчанию для любых атрибутов , которые не изменились.
Максимальный размер кучи
По умолчанию в Android-студия имеет максимальный размер кучи 1280MB. Если вы работаете над большим проектом, или ваша система имеет много оперативной памяти, вы можете повысить производительность за счет увеличения максимального размера кучи в настройках VM для Android Studio. Если ваша система памяти ограничен, вы можете уменьшить максимальный размер кучи.
Чтобы изменить максимальный размер кучи, выполните следующие действия:
- Нажмите Помощь > Редактировать пользовательские Параметры виртуальной машины , чтобы открыть studio.vmoptionsфайл.
- Добавить строку в studio.vmoptionsфайл , чтобы установить максимальный размер кучи с помощью синтаксиса . Размер вы выбираете , должен быть основан на размер вашего проекта и доступной оперативной памяти на вашей машине. В качестве базового уровня, если у вас есть более 4 Гб оперативной памяти и проекта среднего размера, вы должны установить максимальный размер кучи до 2 Гб или больше. Следующая строка задает максимальный размер кучи до 2 Гб: -XmxheapSize - Xmx2g
- Сохраните изменения в studio.vmoptionsфайле, и перезапустить Android Studio для , чтобы изменения вступили в силу.
- Для того, чтобы подтвердить свой новый максимальный размер кучи, откройте командную строку и введите следующую команду: JPS - LVM
Вы увидите список инструментальным виртуальных машинах , работающих на вашем компьютере, включая полное имя пакета для каждого и аргументов , передаваемых в. Найдите пункт , соответствующий вашему экземпляру Android Studio. Она должна заканчиваться -Didea.paths.selector=AndroidStudio[Version]. Вы должны увидеть два аргумента , начиная с -Xmxдля этой виртуальной машины Java, один со значением по умолчанию 1280MB, и один с новым значением, как показано на рисунке 1.
Рисунок 1. Терминал вывода , показывающий текущие аргументы для виртуальной машины Java Android Studio.
- -XmxАргумент , показывающий , максимальный размер по умолчанию кучи, в этом случае 1280m.
- -Didea.paths.selectorПоказывает версию Android Studio в настоящее время работает.
- -XmxАргумент , показывающий новый пользовательский максимальный размер кучи. Обратите внимание , что за этим следует местоположении пользовательского studio.vmoptionsфайла , созданного выше.
Настройки IDE экспорта и импорта
Вы можете экспортировать настройки JAR - файл ( Settings.jar) , который содержит все или подмножество ваших предпочтительных настроек IDE для проекта. Затем можно импортировать файл JAR в других ваших проектах и / или сделать файл JAR доступным для своих коллег , чтобы импортировать в свои проекты.
Для получения дополнительной информации см Экспорт и импорт настроек в IntelliJ IDEA.
Настройте свои свойства IDE
idea.propertiesФайл позволяет настраивать свойства IDE для Android Studio, такие как путь к установленным пользователем плагинов и максимальный размер файла , поддерживаемого IDE. idea.propertiesФайл запускается слиты со свойствами по умолчанию для IDE , так что вы можете указать только свойства переопределения.
Чтобы создать новый idea.propertiesфайл или открыть существующий файл, выполните следующие действия:
- Нажмите Помощь > Edit Custom Properties . Если вы никогда не изменили свойства IDE перед тем , Android Studio предложит создать новый idea.propertiesфайл. Нажмите кнопку Да , чтобы создать файл.
- idea.propertiesФайл открывается в окне редактора Android Studio. Измените файл , чтобы добавить свои собственные индивидуальные свойства IDE.
Следующий idea.propertiesфайл включает обычно настроенные свойства IDE. Для получения полного списка свойств, прочитать о idea.propertiesфайле для IntelliJ IDEA .
#--------------------------------------------------------------------- # Uncomment this option if you want to customize path to user installed plugins folder. Make sure # you're using forward slashes. #--------------------------------------------------------------------- # idea.plugins.path=${idea.config.path}/plugins #--------------------------------------------------------------------- # Maximum file size (kilobytes) IDE should provide code assistance for. # The larger file is the slower its editor works and higher overall system memory requirements are # if code assistance is enabled. Remove this property or set to very large number if you need # code assistance for any files available regardless their size. #--------------------------------------------------------------------- idea.max.intellisense.filesize=2500 #--------------------------------------------------------------------- # This option controls console cyclic buffer: keeps the console output size not higher than the # specified buffer size (Kb). Older lines are deleted. In order to disable cycle buffer use # idea.cycle.buffer.size=disabled #--------------------------------------------------------------------- idea.cycle.buffer.size=1024 #--------------------------------------------------------------------- # Configure if a special launcher should be used when running processes from within IDE. # Using Launcher enables "soft exit" and "thread dump" features #--------------------------------------------------------------------- idea.no.launcher=false #--------------------------------------------------------------------- # To avoid too long classpath #--------------------------------------------------------------------- idea.dynamic.classpath=false #--------------------------------------------------------------------- # There are two possible values of idea.popup.weight property: "heavy" and "medium". # If you have WM configured as "Focus follows mouse with Auto Raise" then you have to # set this property to "medium". It prevents problems with popup menus on some # configurations. #--------------------------------------------------------------------- idea.popup.weight=heavy #--------------------------------------------------------------------- # Use default anti-aliasing in system, i.e. override value of # "Settings|Editor|Appearance|Use anti-aliased font" option. May be useful when using Windows # Remote Desktop Connection for instance. #--------------------------------------------------------------------- idea.use.default.antialiasing.in.editor=false #--------------------------------------------------------------------- # Disabling this property may lead to visual glitches like blinking and fail to repaint # on certain display adapter cards. #--------------------------------------------------------------------- sun.java2d.noddraw=true #--------------------------------------------------------------------- # Removing this property may lead to editor performance degradation under Windows. #--------------------------------------------------------------------- sun.java2d.d3d=false #--------------------------------------------------------------------- # Workaround for slow scrolling in JDK6 #--------------------------------------------------------------------- swing.bufferPerWindow=false #--------------------------------------------------------------------- # Removing this property may lead to editor performance degradation under X Window. #--------------------------------------------------------------------- sun.java2d.pmoffscreen=false #--------------------------------------------------------------------- # Workaround to avoid long hangs while accessing clipboard under Mac OS X. #--------------------------------------------------------------------- # ide.mac.useNativeClipboard=True #--------------------------------------------------------------------- # Maximum size (kilobytes) IDEA will load for showing past file contents - # in Show Diff or when calculating Digest Diff #--------------------------------------------------------------------- # idea.max.vcs.loaded.size.kb=20480Настройка IDE для машин с низким уровнем памяти
Если вы работаете в Android Studio на машине с меньшими затратами , чем рекомендуемые спецификации (см Системные требования ), вы можете настроить IDE для повышения производительности на вашей машине, следующим образом :
- Уменьшите максимальный размер кучи доступных для Android Studio: уменьшить максимальный размер кучи для Android Studio 512Мб. Для получения дополнительной информации об изменении максимального размера кучи см Максимальный размер кучи .
- Обновление Gradle и Android - плагин для Gradle: Обновление до последней версии Gradle и Android плагин для Gradle , чтобы убедиться , что вы принимаете преимущество последних усовершенствований для повышения производительности. Для получения дополнительной информации об обновлении Gradle и Android плагин для Gradle см Android плагин для Notes Gradle Release .
- Включение режима экономии заряда батареи: Включение режима экономии заряда батареи отключает ряд Memory- и батарей интенсивно фоновых операций, в том числе и подсвечивания ошибок на лету проверок, завершение autopopup кода и автоматического дополнительных фона компиляции. Чтобы включить режим экономии энергии, нажмите Файл> Сохранить режим энергосбережения .
- Отключение ненужных проверок вкусненькое: Чтобы изменить ворса проверяет Android - студия работает на вашем коде, выполните следующие действия :
- Нажмите Файл> Параметры (на Mac, Android Studio> Настройки ) , чтобы открыть Настройки диалогового окна.
- В левой панели разверните Редактор раздела и нажмите осмотрах .
- Нажмите флажки, чтобы выбрать или отменить выбор вкусненькое проверки в зависимости от обстоятельств для вашего проекта.
- Нажмите Применить или OK , чтобы сохранить изменения.
- Отладка на физическом устройстве: Отладка на эмуляторе использует больше памяти , чем отладка на физическом устройстве, так что вы можете улучшить общую производительность для Android Studio путем отладки на физическом устройстве .
- Включите только необходимые сервисы Google Play в качестве зависимостей: В том числе Google Play Services в качестве зависимостей в вашем проекте увеличивает объем памяти , необходимой. Включают в себя только необходимые зависимости для улучшения использования памяти и производительности. Для получения дополнительной информации см Добавить в Google Play Services для вашего проекта .
- Включите Автономный режим для Gradle: Если вы ограничены в bandwitch, включите автономном режиме , чтобы предотвратить Gradle от попыток загрузить недостающие зависимости во время сборки. Когда Автономный режим включен, Gradle выдаст сбой сборки , если вам не хватает каких - либо зависимостей, вместо того , чтобы пытаться загрузить их. Чтобы включить Автономный режим, выполните следующие действия :
- Нажмите Файл> Параметры (на Mac, Android Studio> Настройки ) , чтобы открыть Настройки диалогового окна.
- В левой панели разверните сборки, выполнение, развертывания и нажмите кнопку Gradle .
- В настройках Global Gradle, проверьте автономной работы флажок.
- Нажмите Применить или OK для , чтобы изменения вступили в силу.
- Уменьшите максимальный размер кучи , доступной для DEX файла компиляции: Установите javaMaxHeapSizeдля DEX файла компиляции к 200m. Для получения дополнительной информации см Improve время сборки путем настройки DEX ресурсов .
- Не включайте параллельной компиляции: Android - студия может составить независимые модули параллельно, но если у вас есть система с низким уровнем памяти вы не должны включить эту функцию. Чтобы проверить эту настройку, выполните следующие действия :
- Нажмите Файл> Параметры (на Mac, Android Studio> Настройки ) , чтобы открыть Настройки диалогового окна.
- В левой панели разверните сборки, выполнение, развертывания , а затем нажмите Compiler .
- Убедитесь в том, что Compile независимые модули параллельно опция отключена.
- Если вы внесли изменения, нажмите кнопку Применить или ОК для вашего изменения вступили в силу.
Настройте свой проект Instant Run
Система мгновенных Выполнить это поведение для прогона и отладки команд , что позволяет значительно сократить время между обновлениями для вашего приложения. Хотя ваша первая сборка может занять больше времени , чтобы закончить, Instant Run проталкивает последующие обновления приложения без создания нового APK, поэтому изменения видны гораздо быстрее.
Android - студия позволяет Instant Run по умолчанию для проектов , созданных с использованием Android плагин для Gradle 2.0.0 и выше. Вы можете повысить производительность сборки с Instant Run, изменив несколько настроек для вашего проекта. Для получения дополнительной информации о настройке проекта для Instant Run, прочтите настройки и оптимизации проекта для мгновенного Run .
Установите версию JDK
Копия последнего OpenJDK поставляется в комплекте с Android Studio 2.2 и выше, и это версия JDK мы рекомендуем вам использовать для ваших Android проектов. Для использования входящего в комплект поставки JDK, выполните следующие действия:
- Откройте свой проект в Android Studio и выберите Файл> Структура проекта в строке меню.
- В SDK Location странице и под JDK месте , проверьте использовать встроенный JDK флажок.
- Нажмите кнопку ОК .
По умолчанию версия языка Java используется для компиляции проекта зависит от вашего проекта compileSdkVersion(потому что разные версии Android поддерживают различные версии Java). При необходимости, вы можете изменить это значение по умолчанию версию Java, добавив следующий CompileOptions {}блок к вашему build.gradleфайлу:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 targetCompatibility JavaVersion.VERSION_1_6 } }Для получения дополнительной информации о том, где compileSdkVersionопределяется, прочитать о файле сборки модуля уровня .
Настройка параметров прокси-сервера
Доверенные служат в качестве промежуточных точек соединения между HTTP-клиентами и веб-серверов, которые добавляют безопасность и конфиденциальность для подключения к Интернету.
Для поддержки запуска Android Studio за брандмауэром, установите параметры прокси-сервера для Android Studio IDE. Используйте страницу настройки HTTP-прокси Android Studio IDE, чтобы установить параметры HTTP прокси-сервера для Android Studio.
При запуске Android плагин для Gradle из командной строки или на машинах, где не установлен Android Studio, таких как серверы интеграции непрерывных, установить параметры прокси-сервера в Gradle построить файл.
Примечание: После первоначальной установки пучка Android Studio, Android Studio может работать с доступом в Интернет или в автономном режиме. Тем не менее, Android - студия требует подключения к Интернету для синхронизации мастера настройки, третьей стороной доступ к библиотеке, доступ к удаленным хранилищам, инициализация Gradle и синхронизации, а также Android Studio обновления версий.
Настройка Android Studio прокси
Android Studio поддерживает параметры HTTP прокси, так что вы можете запустить Android Studio за брандмауэром или защищенной сети. Для того, чтобы установить параметры HTTP прокси-сервера в Android Studio:
- В строке меню выберите Файл> Параметры (на Mac, нажмите Android Studio> Настройки ).
- В левой панели выберите Внешний вид & Поведение> Настройки системы> HTTP - прокси . Появится страница прокси HTTP.
- Выберите Автоматически определять настройки прокси - сервера использовать автоматический URL конфигурации прокси для настройки прокси - сервера или ручной настройки прокси - сервера , чтобы ввести все параметры самостоятельно. Для более детального объяснения этих параметров, см HTTP прокси .
- Нажмите Применить или OK для , чтобы изменения вступили в силу.
Android плагин для настройки HTTP прокси Gradle
При запуске Android плагин из командной строки или на машинах, где не установлен Android-студия, установить Android плагин для настройки прокси-сервера Gradle в Gradle построить файл.
Для настройки HTTP - прокси конкретного приложения, установить параметры прокси - сервера в build.gradleфайле в соответствии с требованиями для каждого модуля приложения.
apply plugin: 'com.android.application' android { ... defaultConfig { ... systemProp.http.proxyHost=proxy.company.com systemProp.http.proxyPort=443 systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password systemProp.http.auth.ntlm.domain=domain } ... }Для настройки HTTP прокси - проекта в масштабах всей, установить параметры прокси - сервера в gradle/gradle.propertiesфайле.
# Project-wide Gradle settings. ... systemProp.http.proxyHost=proxy.company.com systemProp.http.proxyPort=443 systemProp.http.proxyUser=username systemProp.http.proxyPassword=password systemProp.http.auth.ntlm.domain=domain systemProp.https.proxyHost=proxy.company.com systemProp.https.proxyPort=443 systemProp.https.proxyUser=username systemProp.https.proxyPassword=password systemProp.https.auth.ntlm.domain=domain ...Для получения дополнительной информации об использовании свойств Gradle для настроек прокси - сервера, см Руководство пользователя Gradle .
Примечание: При использовании Android Studio, настройки на странице Настройки HTTP прокси Android Studio IDE , отменяют настройки HTTP прокси - сервера в gradle.properties файле.yogoooo.com
Методы лечения различных ошибок в Android Studio при разработке проекта / Хабр
Сегодня хотел бы поделиться своим анализом и способами лечением разных ошибок при разработке своего продукта в Android Studio. Лично я, не раз сталкивался с различными проблемами и ошибками при компиляции и/или тестировании мобильного приложения. Данный процесс, всегда однообразный и в 99% случаев и всегда нужно тратить n-колличество времени на его устранение. Даже, когда ты уже сталкивался с данной проблемой, ты все равно идешь в поисковик и вспоминаешь, как же решить ту или иную ситуацию.Я для себя завел файлик, в котором отметил самые частые ошибки — потратив на это несколько часов и перечислил самые популярные ошибки (в дальнейшем планирую просто их запомнить), чтоб сократить свое время в дальнейшем.
Итак, начну по порядку с самой распространенной проблемы и дальше буду перечислять их по мере появления:1) Если подчеркивает красным код, где используются ресурсы: R. — попробовать (но вероятно не поможет): Build -> Clean Project.
В принципе на Build -> Clean Project можно не терять времени, а лучше всего — слева переключиться на Project, открыть каталог .idea, затем каталог libraries и из него удалить все содержимое. Затем нажать кнопку Sync Project. А затем (если все еще красное, но скорее всего уже будет все ок ) Build -> Clean Project.
2) После внезапного выключения компьютера, после перезапуска может быть во всех проектах весь код красным. Перед этим может быть ошибка: Unable to create Debug Bridge: Unable to start adb server: Unable to obtain result of 'adb version'. Есть три решения — первое помогло, второе нет (но может быть для другого случая), а третье — не пробовал:
а) File — Invalidate Caches/Restart — Invalidate and Restart
б) Закрыть студию. В корне папки проекта удалить файл(ы) .iml и папку .idea. Вновь запустить студию и импортировать проект.
в) Нажать Ctrl-Alt-O и запустить оптимизацию импорта.
Кстати, adb сервер можно проверить на версию (и работоспособность) и затем перезапустить:
adb version adb kill-server adb start-server 3) Если Android Studio выдает приблизительно такую ошибку: Error:Execution failed for task ':app:dexDebug'...Решение:
Надо слева переключиться на опцию Project, найти и удалить папку build которая лежит в папке app, т.е. по пути app/build. Затем перестроить весь проект заново: Build -> Rebuild Project.
Такое же решение если ошибка типа: «не могу удалить (создать) папку или файл» и указан путь, который в ведет в app/build. Тоже удаляем папку build и ребилдим проект.
4) В сообщении об ошибке упоминается heap — виртуальная память. А ошибка обычно вызвана ее нехваткой, т.е. невозможностью получить запрашиваемый объем. Поэтому этот запрашиваемый объем надо уменьшить, т.е. переписать дефолтное значение (обычно 2048 MB которое можно изменить в настройках), на меньшее 1024 MB.
В файле проекта gradle.properties пишем:
org.gradle.jvmargs=-Xmx1024m
5) Android Studio пришет примерно такую ошибку: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to «83648b99316049d63656d7276cb19cc7e95d70a5»
Возможные причины (кроме необходимости регулярного обновления SDK):
а) Загруженный проект был скомпилирован с помощью уже несовместимого старого gradle плагина. В этом случае надо найти и подключить в своем build.gradle проекта этот более старый плагин. т.е. попробовать более старые версии, например: 1.1.3 (часто именно 1.1.x и подходит).
com.android.tools.build:gradle:1.1.3
Найти все версии можно здесь.
б) Если в build.gradle проекта используется beta-версия плагина — это означает, что срок ее истек. Посмотреть последние релизы (продакшн и бета) можно также здесь:
6) Иногда при подключении сторонних библиотек могут дублироваться некоторые файлы (обычно связанные с лицензированием). В сообщении будет что-то содержащее слова: duplicate files. Решение — надо посмотреть в сообщении об ошибке или в документации подключенной сторонней библиотеки — какие именно файлы стали избыточными, и перечислить их в build.gradle модуля для исключения (exclude) из билда.
Это делается в директиве packagingOptions (которая, в свою очередь, находится в директиве android).
Например, при подключении библиотеки Firebase (облачный бек-енд сервис) в случае возникновения такой ошибки в build.gradle модуля (не проекта) добавляем packagingOptions в android (уже существующие там директивы оставляем) так:
android { ... packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE-FIREBASE.txt' exclude 'META-INF/NOTICE' } }P.S.: Думаю, данная статья была полезна. Если у вас есть еще какие-то частные проблемы при работе с проектами в Android Studio, с удовольствием выслушаю их. Как по мне, 6 проблемных причин, которые я перечислил выше — это 99% всех случаев краха проекта. Конечно, если проблема не связана с вашим личным кодом.
habr.com
Оптимизация разработки Eclipse для Android Oh! Android
Сначала убедитесь, что у вас есть довольно новая версия Java и Eclipse и плагинов ADT. Особенно Java.
Затем закройте Eclipse и посмотрите каталог, в котором вы установили Eclipse. Посмотрите файл с именем eclipse.ini? Сделайте резервную копию, затем откройте ее в текстовом редакторе. Посмотрите на последние несколько строк. Вы увидите что-то похожее на следующее:
--launcher.XXMaxPermSize 512m -showsplash org.eclipse.platform --launcher.defaultAction openFile -vm C:/Program Files/Java/jdk1.6.0_24/bin -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms512m -Xmx2gНе беспокойтесь, если это не похоже на то, и ничего не меняйте, кроме параметров, которые я собираюсь описать. Каждый вариант запускается в отдельной строке без пробелов.
Важными частями для производительности являются максимальная опция размера постоянной генерации, заданная этими двумя строками (которая должна появиться перед -vmargs):
--launcher.XXMaxPermSize 512mЯ рекомендую 256 м, если у вас 2g или 4g реальной памяти, или 512m, если у вас больше. Затем параметр минимальной памяти, заданный этой строкой (должен появиться после -vmargs):
-Xms512mЯ рекомендую установить эту настройку так же, как и параметр максимального размера. Наконец, есть опция, которая контролирует общий объем памяти, которую Eclipse сможет использовать, установленный в этой строке (должен появиться после -vmargs):
-Xmx2gЯ рекомендую установить значение 1g, если у вас 2-4g реальной памяти, и 2g, если у вас больше.
Сохраните файл и перезапустите Eclipse. Возможно, вам придется настроить параметры вверх или вниз, чтобы найти оптимальное значение для вашей системы, но рекомендации, приведенные выше, являются хорошей отправной точкой.
Еще один способ улучшить производительность Eclipse – купить твердотельный диск и использовать его в качестве корневого (C 🙂 устройства. Установите ОС, файлы страниц, Java, Eclipse и все ваши рабочие пространства на нем – все, что будет часто доступно. Это делает огромную (3 раза или более) разницу в запуске Eclipse и времени сборки по сравнению с жестким диском. Это также очень помогает в World of Warcraft. 🙂
По опыту я могу сказать, что четырехъядерный Intel i7 с 64-битным SSD-диском на базе Windows 7, 160 ГБ и 8 ГБ памяти для Eclipse и Android сегодня достаточно быстр.
www.ohandroid.com