2014-12-08 2 views
5

У меня было ужасное время сборки от студии android, и я хотел знать, есть ли у вас какие-либо советы по оптимизации. Вот немного деталей на приложении, которое я сейчас работаю над:Советы по оптимизации времени сборки в студии Android?

  • 65k предельная функцией вопрос, используя последнее multidex исправления от поддержки упака
  • использует около 10-15 библиотек
  • используют 1 -2 native libs (.so)
  • Пробовал использовать трюк pre-dex, результаты варьируются.
  • время сборки перед тем интегрирующей твиттер ткань ~ 1m30sec
  • время сборки после интеграции твиттер ткани 4m30sec - 14m30sec

Оборудование/Программное обеспечение спецификации:

  • i7 4240
  • 16GB ОЗУ
  • 250GB SSD

Любые советы, комментарии приветствоваться :)

EDIT 1

Добавлено профилирующие результаты:

<div class="tab" id="tab0"> 
<h2>Summary</h2> 
<table> 
<thead> 
<tr> 
<th>Description</th> 
<th class="numeric">Duration</th> 
</tr> 
</thead> 
<tr> 
<td>Total Build Time</td> 
<td class="numeric">8m44.29s</td> 
</tr> 
<tr> 
<td>Startup</td> 
<td class="numeric">1.813s</td> 
</tr> 
<tr> 
<td>Settings and BuildSrc</td> 
<td class="numeric">0.038s</td> 
</tr> 
<tr> 
<td>Loading Projects</td> 
<td class="numeric">0.009s</td> 
</tr> 
<tr> 
<td>Configuring Projects</td> 
<td class="numeric">5.889s</td> 
</tr> 

http://jsfiddle.net/gp6o04dL/

+0

Я была такая же проблема, с почти той же спецификации. Каждое изменение, которое я внес в источники, вызвало серьезную задержку до 2 минут, пока я не смог запустить его на устройстве, что сильно меня разочаровало ... В конце концов я перенес проект обратно в Eclipse ... теперь требуется 11 секунд для установки приложения. – TacB0sS

+1

Попробуйте построить из командной строки флаг '--profile', посмотрите на отчет профилирования, который он помещает в' build/reports/profile/', и включайте информацию в свой вопрос. –

+0

Добавлены результаты профилирования с использованием gradlew build --profile – Vannen

ответ

2

Вы можете попробовать с. ..

Файл -> Настройки -> выберите Gradle -> Глобальные параметры Gradle -> автономной работы

1

Вы можете сделать много вещей, один из них инвалидизирующих Crashlytics для отладки ароматизатора.
В build.gradle:

android { 
    ... 
    buildTypes { 
    debug { 
     ext.enableCrashlytics = false 
    } 
} 

В классе, где инициализируется ткань:

Crashlytics crashlyticsKit = new Crashlytics.Builder() 
    .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) 
    .build(); 

Fabric.with(this, crashlyticsKit); 

Надеется, что это помогает.

Ссылка: https://developer.android.com/studio/build/optimize-your-build.html

Смежные вопросы