Как обновить андроид sdk

Добавление пакетов Android SDK Manager

По умолчанию, в Android SDK не установлено все необходимое для начала разработки. Пакет SDK содержит инструменты, платформы и другие компоненты, которые можно загрузить по мере необходимости, используя Android SDK Manager. Поэтому, прежде чем начать, вы должны добавить несколько пакетов в Android SDK.

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

  • В Android Studio при первом запуске в окне приветствия выберите пункт Configure> SDK Manager
  • Если Android Studio уже запущена, выберите пункт меню Tools> Android> SDK Manager.

Откроется окно настроек Android SDK:

На вкладке SDK Platforms отметьте для загрузки все наиболее популярные на текущий момент версии Android. Их список постоянно обновляется на официальном сайте.

Перейдите на вкладку SDK Tools и отметьте для загрузки минимально необходимый набор компонентов, как показано на скриншоте:

Обязательно выберите такие компоненты:

  • Android SDK Build-tools
  • Android SDK Platform-tools (последняя версия)
  • Android SDK Tools (последняя версия)
  • Android Support Repository

После выбора нажмите кнопку Apply и дождитесь загрузки всех компонентов.

По окончании загрузки нажмите Finish. Среда разработки готова к работе.

Следующий курс: Создание вашего первого приложения

Прошу помощи. Только начал изучать разработку под андроид и возникла следующая проблема. Есть планшет Nexus 7 2012 WiFi, прошивка CyanogenMOD Android KitKat (4.4.4). Создаю новый пустой (Empty Activity) проект в Android Studio v 3.0.1, вообще ничего не меняю и пытаюсь запустить проект на устройстве — оно устанавливается и планшет переходит в ребут. Далее запускается очень много раз вылетает ошибка, что Trebuchet (это лаунчер) остановлен. Вообщем еле-еле удаляю приложение и всё становиться нормально. SDK установлены с версии 19 (4.4.4) по 26. Минимальный sdk установлен как 19. Такой же проект на Samsung (android 6.0) запускается без проблем. В чём может быть проблема ума не приложу. Мне кажется, что это возможно как-то связано с движком тем Cyanogen а может и нет, так как пробовал прошивку ParanoidAndroid — та же беда. Прошу поставьте меня на путь истинный

Любые сторонние прошивки вы устанавливаете на свой страх и риск. Нормальная работа системы при этом не гарантируется. Об этом все авторы прошивок пишут.

Это я прекрасно понимаю, и претензий не имею. Дело в том, что система работает стабильно. Остальные приложения которые были изначально написаны для 4.4.4 работают хорошо. И даже современные приложения устанавливаются и работаю -> а это значит, что авторы как то включили поддержку 4.4.4. Возможно ещё где-нибудь нужно нажать «галочку » для поддержки 4.4.4?

Объясните пожалуйста, зачем нужны эти пакеты?

Google APIs ARM EABI v7a System Image
Google APIs
И все пакеты в Extras.

Google APIs — ARM EABI v7a System Image — это образ эмулятора
Google APIs — API сервисов Google, например Maps или YouTube
в Extras самое необходимое — Android Support repository, android support library, google play services, google usb driver — названия как-бы не нуждаются в объяснении.

Что за WTF?! пишет отказано в доступе и доне нотхинг вас инсталед в конце чё делать

Здравствуйте
У меня установлена AS 2.1
Android SDK Build-tools не установлены (стоит прочерк)
Нужно ли устанавливать Android SDK Build-tools ? Все? И почему по умолчанию они не установлены вообще?

Для отправки комментария вам необходимо авторизоваться.

Источник

Как обновить Android Studio SDK?

Откройте окно настроек, щелкнув Файл> Настройки (на Mac, Android Studio> Настройки). На левой панели нажмите «Внешний вид и поведение»> «Системные настройки»> «Обновления». Убедитесь, что установлен флажок «Автоматически проверять наличие обновлений», затем выберите канал из раскрывающегося списка (см. Рисунок 1). Щелкните Применить или ОК.

Читайте также:  Собачье сердце для андроид

Как установить последнюю версию Android SDK?

В Android Studio вы можете установить Android 12 SDK следующим образом:

  1. Щелкните Инструменты> Диспетчер SDK.
  2. На вкладке SDK Platforms выберите Android 12.
  3. На вкладке SDK Tools выберите Android SDK Build-Tools 31.
  4. Нажмите ОК, чтобы установить SDK.

Как мне найти версию Android SDK?

Получите Android 11 SDK

  1. Щелкните Инструменты> Диспетчер SDK.
  2. На вкладке SDK Platforms выберите Android 11.
  3. На вкладке SDK Tools выберите Android SDK Build-Tools 30 (или выше).
  4. Нажмите ОК, чтобы начать установку.

Какая сейчас версия Android SDK?

Версия системы — 4.4. 2. Для получения дополнительной информации см. Обзор Android 4.4 API.

Как обновить Android Studio до последней версии?

Обновление до последней версии Android Studio

  1. Запустите Android Studio.
  2. Чтобы проверить наличие последних обновлений, доступных для загрузки, выполните одно из следующих действий: На целевой странице Android Studio выберите «Настроить»> «Проверить наличие обновлений». На панели инструментов приложения Android Studio выберите «Справка»> «Проверить наличие обновлений». …
  3. В диалоговом окне уведомления нажмите «Обновить и перезапустить».

Как мне найти свою версию SDK?

В зависимости от того, как Mobile SDK был интегрирован в ваш проект, процесс может отличаться.

  1. Android — ручная интеграция и интеграция Fabric. Откройте панель проекта Android Studio. …
  2. iOS — интеграция с CocoaPods. Вы можете проверить номер версии, открыв Podfile. …
  3. Пример PODS: …
  4. iOS — Ручная интеграция.

Как мне вручную загрузить Android SDK?

Установка пакетов и инструментов платформы Android SDK

  1. Запустите Android Studio.
  2. Чтобы открыть диспетчер SDK, выполните одно из следующих действий: На целевой странице Android Studio выберите «Настроить»> «Диспетчер SDK». …
  3. В диалоговом окне «Параметры по умолчанию» щелкните эти вкладки, чтобы установить пакеты платформы Android SDK и инструменты разработчика. Платформы SDK: выберите последний пакет SDK для Android. …
  4. Щелкните Применить. …
  5. Щелкните ОК.

Как я могу получить лицензию Android SDK?

Вы можете принять лицензионное соглашение, запустив Android Studio и выбрав: Справка> Проверить наличие обновлений … Когда вы устанавливаете обновления, вам будет предложено принять лицензионное соглашение. Примите лицензионное соглашение и установите обновления, и все готово.

Какая версия компилируемого SDK?

Версия Compile SDK — это версия Android, в которой вы пишете код. Если вы выберете 5.0, вы можете написать код со всеми API версии 21. Если вы выберете 2.2, вы сможете писать код только с API версии 2.2 или более ранней.

Что такое версия Android Target?

CompileSdkVersion — это версия API, с которой скомпилировано приложение. Это означает, что вы можете использовать функции Android API, включенные в эту версию API (как и все предыдущие версии, очевидно). Если вы попытаетесь использовать функции API 16, но установите для compileSdkVersion значение 15, вы получите ошибку компиляции.

Какая минимальная версия SDK для Android?

minSdkVersion — это минимальная версия операционной системы Android, необходимая для запуска вашего приложения. … Таким образом, ваше приложение Android должно иметь SDK версии не ниже 19. Если вы хотите поддерживать устройства ниже уровня API 19, вы должны переопределить версию minSDK.

Какая последняя версия Android 2020?

Android 11 — одиннадцатый основной выпуск и 18-я версия Android, мобильной операционной системы, разработанной Open Handset Alliance во главе с Google. Он был выпущен 8 сентября 2020 года и является последней на сегодняшний день версией Android.

Какая версия лучше всего подходит для Android?

10 лучших версий Android по рейтингу

  • # 10: Android 5.0 Lollipop. Android. …
  • # 8: Android 7.0-7.1 Nougat. AOSP. …
  • # 7: Android 9 Pie. Android. …
  • №6: Android 2.0-2.1 Eclair. Разработчики Android. …
  • # 5: Android 4.1-4.3 Jelly Bean. AOSP. …
  • №4: Android 4.4 KitKat. Android. …
  • # 2: Android 8.0-8.1 Oreo. Android. …
  • №1: Android 4.0 Ice Cream Sandwich. Разработчики Android.

Не можете найти диспетчер SDK в Android Studio?

Перейдите в студию Android, а затем перейдите к параметру настройки в нижней части окна. Перейдите к опции «проект по умолчанию» в этой опции и нажмите на опцию структуры проекта. Измените местоположение SDK на ваше местоположение SDK.

Android Studio — бесплатное программное обеспечение?

7 мая 2019 года Kotlin заменил Java в качестве предпочтительного языка Google для разработки приложений для Android. Java по-прежнему поддерживается, как и C ++.

Android Studio.

Android Studio 4.1 под управлением Linux
Размер От 727 до 877 МБ
Тип Интегрированная среда разработки (IDE)
Лицензия Двоичные файлы: Бесплатное ПО, Исходный код: Лицензия Apache

Что лучше Android Studio или Eclipse?

Android Studio быстрее Eclipse. Нет необходимости добавлять плагин в Android Studio, но если мы используем Eclipse, нам это необходимо. Eclipse требует много ресурсов для запуска, а Android Studio — нет. Android Studio основана на IDE IntelliJ Idea Java IDE, а Eclipse использует подключаемый модуль ADT для разработки приложений Android.

Читайте также:  Стандартный зарядник для андроида

Источник

Обновляемся на новую версию API Android по наставлению Google

Скоро выходит Android 12, но в этом августе уже с 11-й версии разработчикам придётся использовать новые стандарты доступа приложений к внешним файлам. Если раньше можно было просто поставить флаг, что ваше приложение не поддерживает нововведения, то скоро они станут обязательными для всех. Главный фокус — повышение безопасности.

Переход на новую версию API — довольно трудоёмкая операция, требующая больших затрат на её поддержку при введении крупных апдейтов. Далее расскажу немного про наш переход и возникшие при этом трудности.

Что происходит

Если вы уже знакомы с теорией, то этот раздел можно пропустить — тут я хочу поверхностно сравнить подходы к предмету в разных версиях операционной системы.

В Android есть внутреннее Internal Storage (IS) и внешнее хранилище External Storage (ES). Исторически это были встроенная память в телефоне и внешняя SD-карта, поэтому ES был больше, но медленнее и дешевле. Отсюда и разделение — настройки и критически важное записывали в IS, а в ES хранили данные и большие файлы, например, медиа. Потом ES тоже стал встраиваться в телефон, но разделение, по крайней мере логическое, осталось.

У приложения всегда есть доступ к IS, и там оно может делать что угодно. Но эта папка только для конкретного приложения и она ограничена в памяти. К ES нужно было получать доступ и, кроме манипуляции со своими данными, можно было получить доступ к данным других приложений и производить с ними любые действия (редактировать, удалять или украсть).

Но после разделения на внутреннее и внешнее хранилища все равно оставались проблемы. Многие приложения могли хранить чувствительную информацию не только в IS, но и в ES — то есть ответственность лежала целиком на разработчиках и на том, кто хочет завладеть файлами.

В Android решили всё это переделать ещё в 10-й версии, а в 11-й это стало обязательным.

Чтобы минимизировать риски для пользователя в Google решили внедрить Scoped Storage (SS) в ES. Возможность проникнуть в папки других приложений убрали, а доступ есть только к своим данным — теперь это сугубо личная папка. А IS с 10-й версии ещё и зашифрована по умолчанию.

В Android 11 Google зафорсировала использование SS — когда таргет-версия SDK повышается до 30-й версии API, то нужно использовать SS, иначе будут ошибки, связанные с доступом к файлам. Фишка Android в том, что можно заявить совместимость с определённой версией ОС. Те, кто не переходили на 11, просто говорили, что пока не совместимы с этой версий, но теперь нужно начать поддерживать нововведения всем. С осени не получится заливать апдейты, если не поддерживаешь Android 11, а с августа нельзя будет заливать новые приложения.

Если SS не поддерживается (для девайсов ниже 10-й версии), то для доступа к данным других приложений требуется получить доступ к чтению и записи в память. Иначе придётся получать доступ к файлам через Media Content, Storage Access Framework или новый, появившийся в 11-м Android, фреймворк Datasets в зависимости от типа данных. Здесь тоже придётся получать разрешение доступа к файлу, но по более интересной схеме. Когда расшариваемый файл создаёшь сам, то доступ к нему не нужен. Но если переустановить приложение — доступ к нему опять потребуется. К каждому файлу система привязывает приложение, поэтому когда запрашиваешь доступ, его может не оказаться. Особо беспокоиться не нужно, это сложно отследить, поэтому лучше просто сразу запрашивать пермишен.

Media Content, SAF и Datasets относятся к Shared Storage (ShS). При удалении приложения расшаренные данные не удаляются. Это полезно, если не хочется потерять нужный контент.

Хотя даже при наличии SS можно дать доступ к своим файлам по определённой технологии — через FileProvider можно указать возможность получения доступа к своим файлам из другого приложения. Это нормально, потому что файлы расшаривает сам разработчик.

Также добавилась фича — если приложение не использовалось несколько месяцев, то снимаются все пермишены и доступы к системным элементам. По best practice разрешение запрашивается по необходимости (то есть непосредственно перед использованием того, на что спрашиваем разрешение), поэтому мы просто перед выполнением какого-либо действия проверяем, есть ли у нас пермишены. Если нет, то запрашиваем.

Читайте также:  Управление кондиционерами с андроид

В то же время перекрыли доступы к приложениям внутри девайса. Если раньше можно было отследить, что установлены определённые приложения и отправлять к ним соответствующие интенты, то сейчас мы должны прямо в манифесте прописать, что работаем именно с этими приложениями, и только после этого получить доступ.

В качестве примера можем взять шаринг — мы шарим множество приложений, и их всех нужно указывать в манифесте, иначе они не обнаружатся. Начнём перебирать пакет установленных приложений — будет информация, что не указанного в манифесте приложения нет и при шаринге всё отвалится.

Перейдём к практике.

Переход на новую версию

Основная функциональность по работе с файлами в приложении iFunny представлена в виде сохранения мемов в память и расшаривания их между приложениями. Это было первое, что требовалось починить.

Для этого выделили в общий интерфейс работу с файлами, реализация которого зависела от версии API.

FilesManipulator представляет собой интерфейс, который знает, как работать с файлами и предоставляет разработчику API для записи информации в файл. Copier — это интерфейс, который разработчик должен реализовать, и в который передаётся поток вывода. Грубо говоря, мы не заботимся о том, как создаются файлы, мы работаем только с потоком вывода. Под капотом до 10-й версии Android в FilesManipulator происходит работа с File API, после 10-й (и включая её) — MediaStore API.

Рассмотрим на примере сохранения картинки.

Так как операция сохранения медиафайлов достаточно длительная, то целесообразно использовать MediaStore.Images.Media.IS_PENDING , которая при установлении значения 0 не дает видеть файл приложениям, отличного от текущего.

По сути, вся работа с файлами реализована через эти классы. Шаринг в другие приложения автоматически сохраняют медиа в память устройства и последующая работа с URI уже происходит по новому пути. Но есть такие SDK, которые ещё не успели перестроиться под новые реалии и до сих пор используют File API для проверки медиа. В этом случае используем кеш из External Storage и при необходимости провайдим доступ к файлу через FileProvider API.

Помимо ограничений с памятью в приложениях, таргетированных на 30-ю версию API, появилось ограничение на видимость приложения. Так как iFunny использует шаринг во множество приложений, то данная функциональность была сломана полностью. К счастью, достаточно добавить в манифест query, открывающую область видимости к приложению, и можно будет также полноценно использовать SDK.

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

После проверок запуска UI-тестов на девайсах с версиями API 29-30 было выявлено, что они также перестали корректно отрабатываться.

Первоначально в LogCat обнаружил, что приложение не может приконнектиться к процессу Orchestrator и выдает ошибку java.lang.RuntimeException: Cannot connect to androidx.test.orchestrator.OrchestratorService.

Эта проблема из разряда видимости других приложений, поэтому достаточно было добавить строку

Тест удачно запустился, но возникла другая ошибка — Allure не может сохранить отчёт в память устройства, падает с ошибкой.

Очевидно из-за Scoped Storage стало невозможно сохранять файлы в другие папки, поэтому снова почитав документацию по управлению файлами в памяти на девайсе, обнаружил интересный раздел. Там рассказано, как для нужд тестов открыть доступ к папкам девайса, но с существенными ограничениями, которые можно почитать тут.

Так как нам нужно использовать этот пермишен только для тестов, то нам условия подходят. Поэтому я быстренько написал свой ShellCommandExecutor, который выполняет команду adb shell appops set —uid PACKAGE_NAME MANAGE_EXTERNAL_STORAGE allow на создании раннера тестов.

На Android 11 тесты удачно запустились и стали проходить без ошибок.

После попытки запуска на 10-й версии Android обнаружил, что отчет Allure также перестал сохраняться в память девайса. Посмотрев issue Allure, обнаружил, что проблема известная, как и с 11-й версией. Достаточно выполнить команду adb shell appops set —uid PACKAGE_NAME LEGACY_STORAGE allow . Сказано, сделано.

Запустил тесты — всё еще не происходит сохранения в память отчёта. Тогда я обнаружил, что в манифесте WRITE_EXTERNAL_STORAGE ограничен верхней планкой до 28 версии API, то есть запрашивая работу памятью мы не предоставили все разрешения. После изменения верхней планки (конечно, для варианта debug) и запроса пермишена на запись тесты удачно запустились и отчёт Allure сохранился в память устройства.

Добавлены следующие определения пермишенов для debug-сборки.

После всех вышеописанных манипуляций с приложением, можно спокойно устанавливать targetSdkVersion 30, загружать в Google Play и не беспокоиться про дедлайн, после которого загружать приложения версией ниже станет невозможно.

Источник

Оцените статью