22 марта 2015 г.

Проблема компиляции в Android Studio при смене версии Android SDK Build-tools

Если обновить Android SDK Build-tools до текущей версии и удалить старую версию, то ваши старые проекты в Andoid Studio перестанут собираться.

S0001

Если старый проект был настроен на сборку при помощи допустим Android SDK Build-tools 21.1.2, то при компиляции будет выдаваться вот такая ошибка:

S0002

Вылечить это можно двумя способами. Первый это установить обратно SDK Build-tools 21.1.2. Второй поправить файл настроек Gradle. Первый более простой, второй, на мой взгляд, более правильный.

Для этого выбираем Android view (1) и далее файл build-gradle (Module: app) как на рисунке и правим его.

S0003

Приводим его к вот такому виду

S0004

И запускаем проект

S0005

Все работает, НО! Это еще не все! Если вы были внимательны, то в dependencies у нас осталась старая версия (21.0.3), если же мы заходим поменять это на новую (22.0.1), то вылетит куча разных ошибок.

S0006

S0007

Это менять уже чуть посложнее но тоже можно, если осторожно.

Посмотрим сперва почему вылетает эта ошибка

S0008

Но тут вообще все очень не просто. Gradle – это еще тот подарочек! Но разобраться можно.

Если постараться просто поменять названия директорий в соответствии с версией 22.0.1, то есть сделать так, как подсказывает логика

S0009

S0010

И поменять названия папок как показано на скрине, то вылетят еще вот такие ошибки после компиляции

S0011

Это происходит потому, то библиотеки appcompat-v7 имеют чуть другую версию, а именно, в данном случае 22.0.0, это собственно можно увидеть, проследовав по пути указанному в выводе ошибки компиляции.

Там мы увидим примерно такое:

S0012

И так чтобы все вообще заработало правильным образом надо привести проект к следующему виду

S0013

И снова запускаем проект

S0005

И снова все работает

Комментариев нет:

Отправить комментарий