Ускоряем 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 Еще несколько комментариев:

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

Я попытался создать его:

Он занимает 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

Я попытался создать его:

Он занимает 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 меню:

Для получения более подробной документации о эмулятора и устройства настройки и использования, см Управление виртуальными устройствами , с помощью аппаратных устройств иOEM - драйверы USB .

Найти файлы конфигурации

Оба файла конфигурации хранятся в папке конфигурации для Android Studio. Имя папки зависит от версии студии. Например, Android 2.2 Студия имеет имя папки AndroidStudio2.2. Расположение этой папки зависит от используемой операционной системы:

Вы также можете использовать следующие переменные среды, указывающие на конкретные перезаписать файлы в другом месте:

Настроить параметры виртуальной машины

studio.vmoptionsФайл позволяет настроить параметры для виртуальной машины Java Android Studio. Для повышения производительности студии, в наиболее распространенный вариант , чтобы настроить максимальный размер кучи, но вы также можете использовать studio.vmoptionsфайл , чтобы переопределить другие параметры по умолчанию , такие как начальный размер кучи, размер кэша, и переключатели сбора мусора Java.

Чтобы создать новый studio.vmoptionsфайл или открыть уже существующий, выполните следующие действия:

  1. Нажмите Помощь > Редактировать пользовательские Параметры VM . Если вы никогда не отредактирован опции VM для Android Studio и прежде, IDE предложит создать новый studio.vmoptionsфайл. Нажмите кнопку Да , чтобы создать файл.
  2. 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. Если ваша система памяти ограничен, вы можете уменьшить максимальный размер кучи.

Чтобы изменить максимальный размер кучи, выполните следующие действия:

  1. Нажмите Помощь > Редактировать пользовательские Параметры виртуальной машины , чтобы открыть studio.vmoptionsфайл.
  2. Добавить строку в studio.vmoptionsфайл , чтобы установить максимальный размер кучи с помощью синтаксиса . Размер вы выбираете , должен быть основан на размер вашего проекта и доступной оперативной памяти на вашей машине. В качестве базового уровня, если у вас есть более 4 Гб оперативной памяти и проекта среднего размера, вы должны установить максимальный размер кучи до 2 Гб или больше. Следующая строка задает максимальный размер кучи до 2 Гб: -XmxheapSize - Xmx2g
  3. Сохраните изменения в studio.vmoptionsфайле, и перезапустить Android Studio для , чтобы изменения вступили в силу.
  4. Для того, чтобы подтвердить свой новый максимальный размер кучи, откройте командную строку и введите следующую команду: JPS - LVM

    Вы увидите список инструментальным виртуальных машинах , работающих на вашем компьютере, включая полное имя пакета для каждого и аргументов , передаваемых в. Найдите пункт , соответствующий вашему экземпляру Android Studio. Она должна заканчиваться -Didea.paths.selector=AndroidStudio[Version]. Вы должны увидеть два аргумента , начиная с -Xmxдля этой виртуальной машины Java, один со значением по умолчанию 1280MB, и один с новым значением, как показано на рисунке 1.

    Рисунок 1. Терминал вывода , показывающий текущие аргументы для виртуальной машины Java Android Studio.

    1. -XmxАргумент , показывающий , максимальный размер по умолчанию кучи, в этом случае 1280m.
    2. -Didea.paths.selectorПоказывает версию Android Studio в настоящее время работает.
    3. -XmxАргумент , показывающий новый пользовательский максимальный размер кучи. Обратите внимание , что за этим следует местоположении пользовательского studio.vmoptionsфайла , созданного выше.

Настройки IDE экспорта и импорта

Вы можете экспортировать настройки JAR - файл ( Settings.jar) , который содержит все или подмножество ваших предпочтительных настроек IDE для проекта. Затем можно импортировать файл JAR в других ваших проектах и / или сделать файл JAR доступным для своих коллег , чтобы импортировать в свои проекты.

Для получения дополнительной информации см Экспорт и импорт настроек в IntelliJ IDEA.

Настройте свои свойства IDE

idea.propertiesФайл позволяет настраивать свойства IDE для Android Studio, такие как путь к установленным пользователем плагинов и максимальный размер файла , поддерживаемого IDE. idea.propertiesФайл запускается слиты со свойствами по умолчанию для IDE , так что вы можете указать только свойства переопределения.

Чтобы создать новый idea.propertiesфайл или открыть существующий файл, выполните следующие действия:

  1. Нажмите Помощь > Edit Custom Properties . Если вы никогда не изменили свойства IDE перед тем , Android Studio предложит создать новый idea.propertiesфайл. Нажмите кнопку Да , чтобы создать файл.
  2. 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 для повышения производительности на вашей машине, следующим образом :

Настройте свой проект 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, выполните следующие действия:

  1. Откройте свой проект в Android Studio и выберите Файл> Структура проекта в строке меню.
  2. В SDK Location странице и под JDK месте , проверьте использовать встроенный JDK флажок.
  3. Нажмите кнопку ОК .

По умолчанию версия языка 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:

  1. В строке меню выберите Файл> Параметры (на Mac, нажмите Android Studio> Настройки ).
  2. В левой панели выберите Внешний вид & Поведение> Настройки системы> HTTP - прокси . Появится страница прокси HTTP.
  3. Выберите Автоматически определять настройки прокси - сервера использовать автоматический URL конфигурации прокси для настройки прокси - сервера или ручной настройки прокси - сервера , чтобы ввести все параметры самостоятельно. Для более детального объяснения этих параметров, см HTTP прокси .
  4. Нажмите Применить или 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


Prostoy-Site | Все права защищены © 2018 | Карта сайта