Что если установить старую версию android studio
Перейти к содержимому

Что если установить старую версию android studio

  • автор:

Что если установить старую версию android studio

Все, что мы делаем на Android с помоью Java, зависит от Android SDK — если мы создаем приложение под определенную версию, например, для Android Nougat, то у нас должны быть установлены соответствующие иструменты SDK. Это надо учитывать при разработке.

Откроем Android Studio. По умолчанию, если мы запускаем программу в первый раз, то нам открывается некоторое начальное меню. В самом низу стартового экрана программы найдем кнопку «Configure» и нажмем на нее:

Установка Android SDK

Далее в выпадающем меню нажмем на пункт «SDK Manager». После этого откроется окно с настройками для Android SDK Manager:

Настройки Android SDK Manager

Для более детального просмотра всех компонентов по каждой платформе нажмем внизу окна на ссылку Show Package Details .

Здесь мы детально можем посмотреть, какие пакеты для каждой платформы установлены. Все компоненты сгруппированы по определенной версии SDK, например, Android API 27, Android 8.0 (Oreo), Android 7.1.1 (Nougat) и так далее. Каждая версия SDK фактически представляет определенную версию или подверсию ОС Android. Но каждая версия SDK предполагает широкий круг компонентов, это в том числе и инструменты для разработки под телевизоры, под смарт-часы и т.д. Не все эти инструменты могут понадобиться, поэтому нет смысла все версии SDK абсолютно полностью устанавливать.

В данном случае нас прежде всего будет интересовать пункт Android SDK Platform . Android SDK Platform содержит весь основной функционал, который используется при разработке. Данный пункт можно выделить для всех тех платформ, под которые мы собираемся компилировать приложение. В частности, рекомендую выбрать последние платформы — Android 8.0/7.1, а также те, которые будут использоваться в качестве минимальных платформ, например, Android 5.0 / 5.1.

Кроме SDK Platform каждая платформы, как правило, содержит еще ряд компонентов, которые предназначены для тестирования приложения на эмуляторе:

  • Android TV Intel x86 Atom System Image
  • Android Wear Intel x86 Atom System Image
  • Google APIs Intel x86 Atom System Image
  • Google Play Intel x86 Atom System Image

Для более ранних платформ список компонентов может отличаться.

Если не планируется использование эмулятора, то данные компоненты не столь важны. И наоборот, если тестирование будет происходить на эмуляторе, то следует установить для этого образ системы Google APIs Intel x86 Atom System Image или Google Play Intel x86 Atom System Image .

Далее в этом же окне перейдем на вкладку SDK Tools . Здесь перечислены дополнительные пакеты:

Extras in Android SDK Manager

Здесь для нас прежде всего важны такие пакеты как:

  • Android Support Repository
  • Android Support Library
  • Google Play Services
  • Google Repository
  • Google Usb Driver

Эти пакеты устанавливают репозитории android и сервисы google play. Кроме того, если вы хотите использовать для тестирования приложений смартфон от Google — Nexus 5/5X и 6/6P или Google Pixel, то обязательно надо установить пакет Google Usb Driver , который представляет драйвер для работы с данными смартфонами. Если же предполагается использовать смартфон другого производителя, то в этом случае надо будет установить USB-драйвер непосредственно от этого производителя. Как правило, при подключении смартфона система сама пытается установить драйвер.

Если планируется использование эмулятора, то также следует установить пакет Intel x86 Emulator Accelerator (HAXM installer) .

И если в процессе разработки или тестирования будут возникать проблемы с какими-то версиями ОС Android, то вполне вероятно корень проблем заключается в отсутствии нужных компонентов для определенных платформ. В этом случае можно будет из Android Studio запустить SDK Manager и вручную установить недостающие компоненты.

Впоследствии при каждом запуске Android Studio будут появляться всплывающие уведомления о доступности обновлений по платформам, что довольно удобно и что позволит проектам не отставать от последних обновлений от Google.

Если впоследствии нам потребуется вызвать SDK Manager, то мы можем сделать это из самой Android Sudio через панель инструментов:

Поддержка различных версий платформы Android

В то время как последние версии Android часто предоставляют огромное API, для вашего приложения, вы должны продолжать поддерживать старые версии Android, не обновится большая часть устройств. Этот урок покажет вам, как воспользоваться новейшими API, продолжая при этом поддерживать старые версии.

Инструментальная панель Версии платформы регулярно обновляется, чтобы показать распределение активных устройств, работающих на каждой версии Android, в зависимости от количества устройств, которые посещают Google Play Store. Как правило, это хорошая практика, поддержать около 90% активных устройств, в то же время ориентируя приложение на последнюю версию.

Полезный совет: Для того чтобы обеспечить самые лучшие возможности и функциональность в нескольких версиях Android, вы должны использовать Библиотеку поддержки Android в вашем приложении, которая позволяет использовать некоторые новые API платформы на более старых версиях.

Укажите минимальный и целевой уровень API

AndroidManifest.xml файл описывает подробности о вашем приложении и определяет, какие версии Android оно поддерживает. В частности, minSdkVersion и targetSdkVersion атрибуты для

По мере появления новых версий Android, некоторые стили и поведение может измениться. Чтобы разрешить вашему приложению воспользоваться этими изменениями и убедиться, что ваше приложение соответствует стилю устройства каждого пользователя, вы должны установить targetSdkVersion значение, в соответствующее значение последней доступной версии Android.

Проверьте версию системы во время выполнения

Android предоставляет уникальный код для каждого версии платформы в классе констант Build . Используйте эти коды в вашем приложении для создания условий, которые обеспечивают, чтобы код зависящий от более высоких уровней API, выполнялся только тогда, когда эти интерфейсы API доступны в системе.

private void setUpActionBar() < // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) < ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); >>

Примечание: При разборе XML ресурсов, Android игнорирует атрибуты XML, которые не поддерживаются на текущем устройстве. Таким образом, вы можете спокойно использовать атрибуты XML, которые поддерживаются только на более новых версиях, не беспокоясь о том, что старых версии сломаются, когда они столкнутся с этим кодом. Например, если вы установите targetSdkVersion=»11″ , ваше приложение включает в себя ActionBar по умолчанию для Android 3.0 и выше. Чтобы добавить элементы меню в панель действий, вам необходимо установить android:showAsAction=»ifRoom» в вашем XML ресурсе меню. Можно с уверенностью сделать это в кросс-версии XML-файла, потому что старые версии Android просто игнорируют showAsAction атрибут (то есть, вам не требуется отдельная версия в res/menu-v11/ ).

Используйте стили платформы и темы

Android предоставляет темы для пользовательского опыта, которые дают приложениям внешний вид операционной системы. Эти темы могут быть применены к вашему приложению в файле манифеста. С помощью этих встроенных стилей и тем, ваше приложение будет естественно выглядеть соответственно последнему внешнему виду Android с каждым новым выпуском.

Чтобы деятельность выглядела как диалоговое окно:

Чтобы деятельность имела прозрачный фон:

Чтобы применить свою собственную пользовательскую тему, определенную в /res/values/styles.xml :

Чтобы применить тему ко всему приложению (ко всем деятельностям), добавьте android:theme атрибут к элементу:

Для более подробной информации о создании и использовании тем, читайте Стили и темы.

Следующий курс: Управление жизненным циклом activity

Если не указано иное, этот контент распространяется под лицензией Creative Commons Attribution 2.5. Для получения дополнительной информации и ограничений, см. Лицензия контента.

ПРОграммирование под Android

Если обновить 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

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

Эмулятор в Android Studio запускает старую версию проекта

Проблема заключается в следующем: в какой-то момент android studio при запуске проекта стал запускать его старую версию, т.е. какие бы изменения я бы ни вносил в код или ресурсы проекта, запускается все равно та же самая конфигурация, что была в момент возникновения бага. Причем никаких специфичных действий в этот момент не производил — исправлял ошибку, работал только с кодом. В дальнейшем этот же код полностью вычистил, даже пытался переключиться на другой Activity, но безрезультатно.

Отслеживать
задан 30 июн 2016 в 17:58
1 1 1 бронзовый знак
Скорее всего вам поможет отключение InstantRun в настройках
30 июн 2016 в 18:46

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Если я Вас правильно понял, то попробуйте очистить проект и пересобрать.

  • Build -> Clean Project
  • Build -> Rebuild Project

Обновление

Да, много ошибок. Если в Вашем коде не может быть ошибок, я бы попробовал удалить настройки студии или заново переустановил.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *