Руководство android sdk

Android development starts with the Android SDK (Software Development Kit). While there are many different programming languages and a host of IDEs (Integrated Development Environments) you can use to create an app, the SDK is a constant.

Read Next: Java tutorial for beginners

SDK provides a selection of tools required to build Android apps or to ensure the process goes as smoothly as possible. Whether you end up creating an app with Java, Kotlin or C#, you need the SDK to get it to run on an Android device and access unique features of the OS. You’ll also be able to use an emulator to test apps you’ve built, monitor your device, and do a host of other things. These days, the Android SDK also comes bundled with Android Studio, the integrated development environment where the work gets done and many of the tools are now best accessed or managed. You can download the SDK independently however if that is your preference.

While there are many different programming languages and a host of IDEs you can use to create an app, the SDK is a constant

So, all you really need to know is that you need the Android SDK. Getting set up with the SDK should be the first Android development tutorial you go through (note that you’ll also need the Java Development Kit). But there is a little more to it than that, and using all of the development tools to their fullest and knowing precisely how the SDK works will result in better apps.

Anatomy of the Android SDK

The Android SDK can be broken down into several components. These include:

  • Platform-tools
  • Build-tools
  • SDK-tools
  • The Android Debug Bridge (ADB)
  • Android Emulator

Arguably the most important parts of this package are in the SDKtools. You will need these tools regardless of which version of Android you are targeting. These are what will actually create the APK – turning your Java program into an Android app that can be launched on a phone. These include a number of build tools, debugging tools, and image tools. An example is DDMS, which is what lets us use the Android Device Monitor to check the status of an Android device.

The Build tools were once categorized under the same heading as the Platform tools but have since been decoupled so that they can be updated separately. As the name suggests, these are also needed to build your Android apps. This includes the zipalign tool for instance, which optimizes the app to use minimal memory when running prior to generating the final APK, and the apksigner which signs the APK (surprise!) for subsequent verification.

The Platform tools are more specifically suited to the version of Android that you want to target. Generally, it is best to install the latest Platform tools, which will be installed by default. After first installation though, you need to keep your Platform-tools constantly updated. The tools should be backwards compatible, meaning that you will still be able to support older versions of Android.

Read Next: Anatomy of an app: An introduction to activity lifecycles

The Android Debug Bridge (ADB) is a program that allows you to communicate with any Android device. It relies on Platform-tools in order to understand the Android version that is being used on said device and hence it is included in the Platform-tools package. You can use ADB to access shell tools such as logcat, to query your device ID or even to install apps.

The Android emulator is what lets you test and monitor apps on a PC, without necessarily needing to have a device available. To use this, you also get an Android system image designed to run on PC hardware. You’ll use the Android Virtual Device manager in order to choose which version of Android you want to emulate, along with the device specifications (screen size, performance etc.).

Install Android on PC

Using the Android SDK

In short, many of the tools included in the SDK involve testing, debugging and packaging apps for Android. They provide a kind of bridge between Android Studio and a physical device or emulator so that your app can be appropriately packaged and then tested as you develop. For the most part, you can leave the SDK alone: Android Studio will recommend necessary updates and it will call upon the required components when you hit Run or Build APK.

That said, a few of the tools are also directly accessible, which will be used for things like updating the SDK, or directly monitoring and communicating with your Android device.

Using the SDK Manager

While Android Studio will normally let you know when you need to update something, you can also manage updates to the SDK manually via the manager. You’ll find this in Android Studio if you navigate to Tools — Android — SDK Manager. You’ll see there are three tabs here for SDK Platforms, SDK Tools, and SDK Update Sites.

If you are following along with an Android development tutorial, then you might sometimes get directed here in order to ensure that specific components are up-to-date.

Using the AVD Manager

You’ll likewise find the AVD Manager under Tools — Android — AVD Manager. This lets you build your own emulators. You’ll choose the size of the device and some other specifications, and you’ll be prompted to download the requisite x86 system image if it’s not already installed.

Using the Android Device Monitor

The Android Device Monitor encapsulates DDMS and can be found under – you guessed it – Tools — Android — DDMS. This works with either an emulator or a connected device and will go a little deeper in monitoring the way your Android device and app are behaving.

Using the ADB

Using ADB is a little different. To do this, you will need to find your Android SDK installation folder and navigate to the platform-tools directory. On Windows, hold shift and right click anywhere in the folder to open a command line. On Mac, just open Terminal from Launchpad (usually found in the Other folder).

Now you can use a number of commands. For example, if you type “adb devices,” you will get a list of the Android devices that are plugged in, along with their Device IDs. Type “adb install [options] package-name” and you can remotely install an APK. You can find a list of the ADB commands here.

Accessing the Documentation

Looking for a specific Android development tutorial? You can find a whole subdirectory within the SDK folder called “Docs” and this will give you access to some useful information. For the most part though, you’re best off visiting developer.android.com instead.

There was a time when the Android SDK would also come packaged with a selection of useful sample projects. Today this is no longer the case, but you can find them instead by opening Android Studio and navigating to File — New — Import Sample.

Using the SDK independently

While the Android SDK and Android Studio are closely linked, you won’t always want to use them together. You may wish to use another IDE (Integrated Development Environment), for instance if you want to streamline the process of making a 3D game (in which case, you may wish to use Unity or Unreal), or if you are interested in cross platform mobile development (in which case you might use Xamarin).

In any case, you’ll need to show the chosen IDE where the SDK is located, usually by pasting the path somewhere. You can also find the location of the Android SDK in Android Studio, in case you should ever need to move it, or just for your own reference. Just go to File — Project Structure. You’ll also find the location of the JDK and the Android NDK.

You’ll have chosen the location of the SDK when you installed it. If you left this option as default though, then there’s a chance it may be in the AppData\Local directory. Be aware that this folder is hidden on Windows by default, so you might have a hard time finding it.

The NDK (Native Development Kit) allows you to build apps using native languages like C and C++. This gives you access to certain libraries and can help to squeeze a little more performance out of a device – making it useful for game development, among other things. The NDK can be downloaded through the SDK Manager and you can learn more about it here.

Related: Android Game SDK: What it is and how to use it in your apps

As mentioned, if it is just the SDK you are interested in, then you can download this on its own by visiting the downloads page and then choosing to include the sdkmanager. This will allow you to update the SDK through the command line. There are also ways to access the AVD Manager without Android Studio. But for the vast majority of users, it makes a lot more sense to install the full suite and enjoy the graphical interface and other conveniences – even if you intend on using a different IDE for development.

And this is the really good news: Android development is now easier than ever before thanks to the leaps and bounds that Google has made with Android Studio. There was a time when setting everything up was considerably more complex. There has never been a better time to start Android development!

Разработка программного обеспечения для операционной системы Android немыслима без специализированной среды. Есть средство создания контента под эту мобильную платформу. Носит оно название «Андроид СДК».

Это – одно из самых популярных средств разработки, которым может пользоваться как новичок, так и опытный программе. В Google полно документации и туториалов (даже на русском языке), при помощи который удастся быстро освоить софт.

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

Описание

Android SDK, согласно данным из Google – это универсальное средство разработки мобильных приложений для Андроида. Обладает широким спектром функций и инструментов, благодаря которым можно быстро запускать тестирование и отладку исходных кодов. Написана соответствующая среда на языке Java. Разработчиком выступила компания Google в 2009 году (октябрь).

Представляет собой эмулятор и среду разработки «в одном флаконе». Выделяется следующими преимуществами:

  • руководство на русском языке;
  • использовать соответствующее ПО проще простого;
  • мощный инструментарий для создания качественных мобильных утилит;
  • возможность наблюдать за результатом в режиме реального времени;
  • кроссплатформенность;
  • совместимость версий;
  • наличие отладчика, а также собственных библиотек.

СДК не может быть полноценно запущена на устройствах Android. Но Google позволяет активировать соответствующую утилиту на ПК и ноутбуках.

Особенности редактора

До 2014 года приходилось пользоваться текстовым редактором IDE Eclipse, который имеет дополнение в виде плагина ADT. Можно проводить интеграцию СДК с NetBeans IDE и IntelliJ IDEA.

В 2015 году на передовую вышел комплект разработки под названием Android Studio (он создан Google через технологии IDE IntelliJ). Именно этот редактор стал выступать в качестве основного.

К концу 2015 ADT стал в работе разрабов выступать в качестве устаревшего. С тех пор Android Studio от Google – это основная среда разработки приложений. Здесь предусматривается использование посторонних текстовых редакторов для обеспечения Java и HTML файлов. Можно задействовать утилиты командной строки (для этого необходимо обеспечить Java Development Kit и Apache). Есть софт управления подключенными Андроид устройствами для того, чтобы перезагружать и устанавливать ПО: fastboot и adb.

Инструкция по использованию

Вопрос о том, как у SDK Android пользоваться основным функционалом, возникает преимущественно у новичков. Работать с SDK Manager не составит никакого труда. Представить процедуру можно так:

  1. Ознакомиться с системными требованиями СДК.
  2. Убедиться, что используемое устройство соответствует выдвинутым требованиям.
  3. Установить на ПК комплект разработчика – JDK.
  4. Устанавливаем дополнительный инструментарий в виде плагинов ADT Eclipse и ISE.
  5. Запустить утилиту как обычное приложение.

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

Инициализация

Инструкция по тому, как проходит установка software, представлена далее. На нее можно опираться, чтобы начать работу со средой разработки от компании Google – упрощенный SDK Manager:

  • Загрузить в удобную папку файл с инициализатором СДК.
  • Распаковать и перенести Мастер Установки в root зону.
  • Перейти в нужный раздел и кликнуть дважды по инициализатору.
  • Щелкнуть по шестому пункту Android SDK Platform.
  • Переключиться в отладку драйверов (Google USB Driver package). Здесь нужно установить документ последнего пункта revision 4.
  • Выбрать Package, revision 4. Здесь предстоит инициализировать файл последнего пункта.
  • Перейти в «Переменные среды». Для этого рекомендуется использовать поисковую строчку.
  • Щелкнуть по надписи «Путь». Раздел расположен в нижней части.
  • В закладке Value прописать операцию и подтвердить:

  • Настроить на устройстве Android соединение с ПК через кабель.
  • Найти в сети подходящие драйверы и плагины.
  • В командном центре компьютера прописать adb devices. Если поиск успешен, значит, инициализация удалась. В противном случае предстоит обновить драйверы и попытаться снова.

Это – краткое руководство по Андроид Google СДК, которое поможет начать использование среды. Теперь, когда основной процесс позади, можно запустить ПО и полноценно работать в нем.

Обновление

Иногда для полноценной работы ПО требуется обновление драйверов. Добиться этого можно путем скачивания последней версии Driver pack solutions. Она проведет операцию автоматически. Потребуется обновление SDK Tools.

Также можно осуществить операцию «кустарным» способом:

  1. Найти неопределенные устройства, среди которых есть ADB.
  2. Перейти в «Обновление ПО драйверов»-«Посмотреть»-«Выбор»-«Имеющиеся на диске»-«Просмотр».
  3. Перейти к выбору Android драйверов.
  4. Кликнуть по надписи Android ADB Interface.
  5. Закрыть всплывающее уведомление. Этот шаг необходим, если соответствующее окно появляется на экране.

В этом видео показано, как работать в Android SDK более наглядно. Туториал полностью на русском языке.

Время на прочтение
19 мин

Количество просмотров 72K

Нам бы хотелось поделиться с вами опытом, который мы, в Futurice, получили, разрабатывая Android-приложения. Надеемся, эти советы уберегут вас от создания собственных велосипедов. Если вы интересуетесь iOS или Windows Phone разработкой, обратите внимание на соответствующие документы на нашем сайте.

Коротко о главном

  • Используйте систему сборки Gradle и стандартную структуру проекта
  • Храните пароли и другие важные данные в файле gradle.properties
  • Не пишите свой собственный HTTP-клиент, лучше используйте библиотеки Volley или OkHttp
  • Используйте библиотеку Jackson для парсинга данных в формате JSON
  • Избегайте использовать Guava и вообще экономьте — старайтесь не превысить ограничение в 65k методов
  • Используйте фрагменты для отображение пользовательского интерфейса
  • Используйте activity только для управления фрагментами
  • XML-разметка — это код, пишите его аккуратно
  • Используйте стили, чтобы не дублировать атрибуты в XML-разметке
  • Лучше несколько файлов со стилями, чем один здоровенный, который будет сложно читать
  • Старайтесь избегать дублей в colors.xml и сделать его покороче — в основном для хранения цветовой палитры
  • То же касается dimens.xml, определите там только основные константы
  • Не делайте слишком глубокую иерархию элементов ViewGroup
  • Избегайте отработки на клиентской стороне при использовании WebView, будьте внимательны к возможным утечкам
  • Используйте Robolectric для unit-тестирования, а Robotium для тестирования UI
  • Используйте Genymotion в качестве эмулятора
  • Всегда используйте ProGuard или DexGuard

Android SDK

Поместите ваш Android SDK в домашнюю директорию или другое место, не связанное с приложением. Некоторые IDE ставятся вместе с SDK, и могут устанавливать его в свою директорию. Это может помешать при обновлении (или переустановке) IDE, или когда вы перейдёте на другую IDE. Избегайте установки SDK в другую системную директорию, поскольку это может потребовать административных привилегий, если ваша IDE запускается с правами пользователя, а не администратора.

Система сборки

Выбором по умолчанию должен быть Gradle. Ant гораздо скромнее по возможностям, и к тому же его инструкции менее компактны. С помощью Gradle вы легко сможете:

  • Создавать различные варианты и сборки вашего приложения
  • Создавать простые задачи в виде скрипта
  • Управлять зависимостями и автоматически загружать их
  • Настраивать хранилище ключей
  • И многие другие полезные вещи

Также отметим, что Gradle plugin для Android активно развивается Google как новый стандарт систем сборки.

Структура проекта

Есть два распространённых варианта: старая Ant & Eclipse ADT структура проекта — либо новая Gradle & Android Studio. Лучше выбрать второй вариант. Если ваш проект использует старую структуру, рекомендуем её портировать.

Старая структура

old-structure
├─ assets
├─ libs
├─ res
├─ src
│  └─ com/futurice/project
├─ AndroidManifest.xml
├─ build.gradle
├─ project.properties
└─ proguard-rules.pro

Новая структура

new-structure
├─ library-foobar
├─ app
│  ├─ libs
│  ├─ src
│  │  ├─ androidTest
│  │  │  └─ java
│  │  │     └─ com/futurice/project
│  │  └─ main
│  │     ├─ java
│  │     │  └─ com/futurice/project
│  │     ├─ res
│  │     └─ AndroidManifest.xml
│  ├─ build.gradle
│  └─ proguard-rules.pro
├─ build.gradle
└─ settings.gradle

Основное отличие заключается в том, что новая структура явным образом разделяет ‘наборы ресурсов’ (main, androidTest), это одна из концепций Gradle. Вы можете, к примеру, добавить папки ‘paid’ и ‘free’ в вашу папку ‘src’, и они будут содержать исходный код для платной и бесплатной версий вашего приложения.

Наличие папки приложения app на верхнем уровне иерархии помогает отделить его от библиотек (например, library-foobar), которые приложение использует. Файл settings.gradle в таком случае хранит список этих библиотечных проектов, на которые может ссылаться app/build.gradle.

Конфигурация Gradle

Общая структура. Следуйте инструкциям Google для Gradle for Android.

Маленькие задачи сборки. В отличие от других скриптовых языков (shell, Python, Perl, и т.д.), вы можете создавать задачи сборки в Gradle. Подробности смотрите в документации Gradle.

Пароли. В файле вашего приложения build.gradle вам нужно определить параметры подписи (signingConfigs) для релизной сборки. Следует избегать такой ошибки:

Не делайте так. Эта информация появится в системе контроля версий.

signingConfigs {
    release {
        storeFile file("myapp.keystore")
        storePassword "password123"
        keyAlias "thekey"
        keyPassword "password789"
    }
}

Правильнее будет создать файл gradle.properties, который не будет добавлен под управление системы контроля версий:

KEYSTORE_PASSWORD=password123
KEY_PASSWORD=password789

Эти данные автоматически импортируются в gradle, и вы сможете использовать их в build.gradle следующим образом:

signingConfigs {
    release {
        try {
            storeFile file("myapp.keystore")
            storePassword KEYSTORE_PASSWORD
            keyAlias "thekey"
            keyPassword KEY_PASSWORD
        }
        catch (ex) {
            throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.")
        }
    }
}

Старайтесь использовать зависимости Maven, а не импортировать jar-файлы. Если вы включаете внешние jar-файлы в ваш проект, они будут законсервированы в той версии, при которой происходил импорт, например 2.1.1. Ручная загрузка jar-файлов и их обновление — достаточно трудоёмкая операция, и Maven может отлично решить эту проблему за нас, включив результат в сборку. Например:

dependencies {
    compile 'com.squareup.okhttp:okhttp:2.2.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0'
}

Избегайте использования динамических зависимостей Maven Избегайте указания динамически формируемых версий, например 2.1.+, так как это может привести к нестабильности сборок, зависящих от неконтролируемых отличий взаимодействия различных версий библиотек. Использование статических номеров версий, например, 2.1.1, поможет создать более стабильные сборки с предсказуемым поведением.

Среда разработки (IDE) и текстовый редактор

Используйте любой редактор, который вам нравится, но он должен быть хорошо совместим со структурой проекта. Редактор — это ваш личный выбор, и вы должны выбрать такой, с которым будет удобно работать в рамках вашей структуры проекта и системы сборки.

Самая популярная IDE на данный момент — Android Studio, поскольку она разрабатывается Google, интегрирована с Gradle, использует новую структуру проекта по умолчанию, находится в состоянии стабильной сборки и заточена под Android-разработку.

Вы можете использовать Eclipse ADT, если он вам нравится, но его придётся настраивать, поскольку он по умолчанию работает со старой структурой проекта и системой сборки Ant. Вы можете даже использовать текстовые редакторы Vim, Sublime Text, или Emacs. В этом случае вам придётся использовать Gradle и adb из командной строки. Если вам не удастся подружить Eclipse с Gradle, вам тоже придётся использовать для сборки командную строку. Учитывая то, что ADT plugin недавно был объявлен устаревшим, лучше просто перейти на Android Studio.

Что бы вы не использовали, имейте в виду, что Gradle и новая структура проекта являются официально рекомендованным способом сборки приложений, и не добавляйте ваши редакторо-зависимые конфигурационные файлы в систему контроля версий. Например, не добавляйте файл Ant build.xml. Также не забывайте обновлять build.gradle, когда вы меняете конфигурацию сборки в Ant. В общем, не заставляйте других разработчиков использовать непривычные им инструменты.

Библиотеки

Jackson — библиотека Java для конвертации объектов в JSON и наоборот. Gson — самый распространённый способ решения этой задачи, но по нашим наблюдениям Jackson более производителен, поскольку он поддерживает альтернативные способы обработки JSON: потоковый, модель дерева в оперативной памяти, и традиционную связь форматов JSON-POJO. Имейте в виду, однако, что Jackson по размеру больше чем GSON, так что возможно, вы предпочтёте GSON для того чтобы избежать ограничения в 65k методов. Другие варианты: Json-smart и Boon JSON.

Работа с сетью, кэширование и картинки. Есть пара проверенных опытом решений для производительных запросов к backend-серверам, которые вам стоит рассмотреть перед разработкой вашего собственного клиента. Используйте Volley или Retrofit. Volley к тому же предоставляет средства загрузки и кэширования изображений. Если вы выберете Retrofit, возьмите Picasso для загрузки или кэширования изображений, и OkHttp для эффективных HTTP-запросов. Все эти библиотеки — Retrofit, Picasso и OkHttp разработаны одной компанией, так что они отлично дополняют друг друга. OkHttp также может быть использован с Volley.

RxJava — библиотека для Reactive Programming, другими словами, для обработки асинхронных событий. Это мощная и многообещающая концепция, которая может смутить своей необычностью. Мы рекомендуем хорошо подумать, перед тем как использовать эту библиотеку как фундамент архитектуры всего приложения. Есть проекты, созданные с использованием RxJava, и вы можете обратиться за помощью к однуму из этих людей: Timo Tuominen, Olli Salonen, Andre Medeiros, Mark Voit, Antti Lammi, Vera Izrailit, Juha Ristolainen. Мы писали несколько статей в наш блог по этому поводу: [1], [2], [3], [4].

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

проклянёт вас

может иметь большие проблемы при поддержке проекта. Постарайтесь помочь ему понять ваш код и Rx.

Retrolambda — это библиотека Java для использования лямбда-выражений в Android и других платформах с JDK ниже 8-ой версии. Она поможет вам сделать ваш код компактным и хорошо читаемым, особенно если вы используете функциональный стиль, например с RxJava. Для её использования, установите JDK8, укажите его в пути к SDK в Android Studio в диалоге описания структуры проекта, и установите переменные окружения JAVA8_HOME и JAVA7_HOME, после чего в корневом build.gradle проекта напишите:

dependencies {
    classpath 'me.tatarka:gradle-retrolambda:2.4.1'
}

и в файле build.gradle каждого модуля добавьте

apply plugin: 'retrolambda'

android {
    compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

retrolambda {
    jdk System.getenv("JAVA8_HOME")
    oldJdk System.getenv("JAVA7_HOME")
    javaVersion JavaVersion.VERSION_1_7
}

Android Studio начнёт поддерживать синтаксис лямбда-выражений. Если вы раньше их не использовали, можете начать с осознания утверждений:

  • Любой интерфейс с одним методом совместим с лямбда-выражениями и может быть упрощён в написании
  • Если вам непонятно, как описать параметры, напишите обычный внутренний класс и позвольте Android Studio транслировать его в лямбда-выражение.

Помните о ограничении dex-файла на количество методов, и избегайте использования большого количества библиотек. Приложения Android, при упаковке в dex-файл, имеют жёсткое ограничение в 65536 ссылочных методов [1] [2] [3]. При превышении лимита, вы получите фатальную ошибку компиляции. Так что советуем использовать минимально возможное количество библиотек, и обратите внимание на утилиту для подсчёта количества методов в dex-файле. Она поможет определить, какой набор библиотек можно использовать, не превышая лимит. Будьте особенно осторожны при использовании библиотеки Guava, которая содержит более 13k методов.

Activity и фрагменты

В сообществе Android-разработчиков (как и в Futurice) нет единого мнения по вопросу, как лучше всего построить архитектуру Android-приложения в плане использования фрагментов и activity. Square даже выпустила библиотеку для построения архитектуры в основном с помощью view, минимизировав таким образом необходимость фрагментов, но этот способ до сих пор не стал общепринятым.

Исходя из истории развития Android API, вы можете рассматривать фрагменты, как часть пользовательского интерфейса экрана. Другими словами, фрагменты обычно относятся к UI. Activity обычно рассматриваются как контроллеры, они особенно важны с точки зрения их жизненного цикла и для управлением состояниями. Однако, может быть и по-другому: activity могут исполнять функции, связанные с UI (переход состояний между экранами), а фрагменты могут быть использованы только как контроллеры. Мы бы советовали принимать взвешенное решение, имея в виду, что архитектура, базирующаяся на использовании только фрагментов, или только activity, или только view, может иметь ряд недостатков. Вот пара советов, на что стоит обратить внимание, но отнеситесь к ним критично:

  • Избегайте интенсивного использования вложенных фрагментов (nested fragments), из-за возможности появления ошибок типа «матрёшка». Используйте вложенные фрагменты, только если это имеет смысл (например, фрагменты в прокручиваемом горизонтально ViewPager внутри фрагмента-экрана) или если вы хорошо понимаете, что делаете.
  • Не помещайте слишком много кода в activity. Если это возможно, используйте их как лёгкие контейнеры, существующие в вашем приложении в основном для управления жизненным циклом и других важных функций интерфейса Android API. Activity с одним фрагментом лучше, чем просто activity — выносите код, относящийся к пользовательскому интерфейсу во фрагмент. Это сделает возможным его повторное использование в случае, если вам потребуется поместить его в разметку с табами, или на экран планшета с несколькими фрагментами. Избегайте создание activity без связанных фрагментов, кроме случаев, когда вы делаете это специально.
  • Не стоит злоупотреблять API уровня Android, например, слепо полагаясь на механизм Intent для внутренней работы приложения. Вы можете повлиять на операционную систему Android или другие приложения, вызвав ошибки или зависания. Например, известно, что если ваше приложение использует механизм Intent для внутренней коммуникации между пакетами приложения, вы можете вызвать зависание в несколько секунд, если приложение было открыто сразу после загрузки операционной системы.

Архитектура пакетов Java

Архитектура Java для Android-приложений напоминает шаблон Model-View-Controller. В Android, фрагменты и activity представляют классы Conroller’а. С другой стороны, они являются частью пользовательского интерфейса, так что они также являются частью View.

Поэтому сложно отнести фрагменты (или activity) однозначно к Controller либо View. Лучше поместить их в собственный пакет fragments. Activity в этом случае можно оставить в пакете верхнего уровня. Если у вас больше двух-трёх activity, можно вынести их также в отдельный пакет.

С другой стороны, архитектура может выглядеть как обычный MVC, с пакетом models, содержащим объекты POJOs, генерируемые с помощью парсера JSON из ответов API, и пакетом views, содержащим авторские View, оповещения, классы View связанные с action bar, виджеты, и т.д. Адаптеры — это связывающее звено, находящееся между data и views. Учитывая то, что они обычно используют View, экспортируемые через метод getView(), вы можете включить адаптеры как дочерний пакет adapters во views.

Некоторые классы controller используются по всему приложению и работают напрямую с операционной системой Android. Их можно поместить в пакет managers. Различные классы для обработки данных, такие как «DateUtils», можно хранить в пакете utils. Классы, отвечающие за взаимодействие с backend, находятся в пакете network.

Все вышеперечисленные пакеты, в порядке от backend до пользовательского интерфейса:

com.futurice.project
├─ network
├─ models
├─ managers
├─ utils
├─ fragments
└─ views
   ├─ adapters
   ├─ actionbar
   ├─ widgets
   └─ notifications

Ресурсы

Именование. Следуйте конвенции об использовании типа объекта в качестве префикса имени файла, как в type_foo_bar.xml. Примеры: fragment_contact_details.xml, view_primary_button.xml, activity_main.xml.

Структура XML разметки. Если вы не уверены, как форматировать XML разметки, следующие советы могут помочь.

  • Один атрибут на строку, с отступом в 4 пробела
  • android:id всегда находится на первом месте
  • android:layout_**** атрибуты в начале
  • атрибут style на последнем месте
  • Закрывающий тэг /> находится на своей строчке, для облегчения упорядочения и добавления атрибутов.
  • Вместо написания вручную android:text, вы можете использовать Визуальный редактор атрибутов для Android Studio.

Пример

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <TextView
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="@string/name"
        style="@style/FancyText"
        />

    <include layout="@layout/reusable_part" />

</LinearLayout>

Как показывает опыт, атрибут android:layout_**** должен быть определён в XML разметки, а остальные атрибуты android:**** должны быть определены в XML стилей. У этого правила есть исключения, но в целом оно работает хорошо. Смысл в том, чтобы хранить только атрибуты разметки (позиция, поля, размер) и атрибуты контента в файле разметки, а детали отображения визуальных компонентов (цвета, отступы, шрифты) должны быть в файлах стилей.

Исключения:

  • android:id конечно должен быть в файле разметки
  • android:orientation для объекта LinearLayout обычно имеет смысл в файле разметки
  • android:text должен быть в файле разметки, потому что он описывает контент
  • Иногда имеет смысл определить в общем стиле android:layout_width и android:layout_height, но по умолчанию эти атрибуты должны находиться в файле разметки

Используйте стили. Практически каждый проект должен правильно использовать стили, поскольку обычно есть повторяющиеся атрибуты отображения для view. Как минимум, вы должны иметь общий стиль для большей части текстового контента приложения, например:

<style name="ContentText">
    <item name="android:textSize">@dimen/font_normal</item>
    <item name="android:textColor">@color/basic_black</item>
</style>

Применимо к TextView:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/price"
    style="@style/ContentText"
    />

Вам наверняка придётся сделать то же самое для кнопок, но не останавливайтесь на этом. Развивайте эти концепцию и выносите все группы повторяющихся атрибутов android:****, относящихся к определённым видам визуальных компонент, в стили.

Разделяйте большой файл со стилями на несколько более маленьких. Нет необходимости хранить все стили в одном файле styles.xml. Android SDK по умолчанию поддерживает различные имена файлов, так что нет никаких проблем с именованием файлов со стилями — они всего лишь должны содержать XML-тэг «style». Так что вы можете создать файлы styles.xml, styles_home.xml, styles_item_details.xml, styles_forms.xml. В отличие от имён директорий, которые важны для системы сборки, имена файлов в res/values могут быть произвольными.

colors.xml это цветовая палитра. Не помещайте в colors.xml ничего, кроме связи названия цвета с его RGBA значением. Не используйте его для определения значений RGBA для разных типов кнопок.

Так неправильно

<resources>
    <color name="button_foreground">#FFFFFF</color>
    <color name="button_background">#2A91BD</color>
    <color name="comment_background_inactive">#5F5F5F</color>
    <color name="comment_background_active">#939393</color>
    <color name="comment_foreground">#FFFFFF</color>
    <color name="comment_foreground_important">#FF9D2F</color>
    ...
    <color name="comment_shadow">#323232</color>

При таком подходе очень просто создать дублирующие значений RGBA, да и цвета изменять гораздо сложнее. Кроме того, эти цвета относятся к определённому контенту, «button» или «comment», и должны быть описаны в стиле кнопки, а не в colors.xml.

А вот так — правильно

<resources>

    <!-- grayscale -->
    <color name="white"     >#FFFFFF</color>
    <color name="gray_light">#DBDBDB</color>
    <color name="gray"      >#939393</color>
    <color name="gray_dark" >#5F5F5F</color>
    <color name="black"     >#323232</color>

    <!-- basic colors -->
    <color name="green">#27D34D</color>
    <color name="blue">#2A91BD</color>
    <color name="orange">#FF9D2F</color>
    <color name="red">#FF432F</color>

</resources>

Цветовую палитру определяет дизайнер приложения. Цвета не обязательно называть «green», «blue», и т.д. Названия вроде «brand_primary», «brand_secondary», «brand_negative» тоже вполне приемлемы. Такое форматирование цветов делает простым их изменение или рефакторинг, а также позволяет легко понять, сколько цветов используется. Для создания красивого пользовательского интерфейса, важно по возможности уменьшить количество используемых цветов.

Оформите dimens.xml как colors.xml. По той же причине, стоит так же определить «палитру» типичных размеров объектов и шрифтов.

Пример хорошей структуры dimens.xml

<resources>

    <!-- font sizes -->
    <dimen name="font_larger">22sp</dimen>
    <dimen name="font_large">18sp</dimen>
    <dimen name="font_normal">15sp</dimen>
    <dimen name="font_small">12sp</dimen>

    <!-- typical spacing between two views -->
    <dimen name="spacing_huge">40dp</dimen>
    <dimen name="spacing_large">24dp</dimen>
    <dimen name="spacing_normal">14dp</dimen>
    <dimen name="spacing_small">10dp</dimen>
    <dimen name="spacing_tiny">4dp</dimen>

    <!-- typical sizes of views -->
    <dimen name="button_height_tall">60dp</dimen>
    <dimen name="button_height_normal">40dp</dimen>
    <dimen name="button_height_short">32dp</dimen>

</resources>

Рекомендуем не писать числовые значения в повторяющихся атрибутах разметки (полях и отступах), а использовать константы вида spacing_**** (примерно так, как вы обычно делаете для локализиции строковых значений).
Это сделает разметку понятнее и позволит проще её изменять.

strings.xml

Используйте в именовании строк ключи, как в именовании пакетов — это позволит вам решить проблему с одинаковыми именами констант и лучше понимать контекст их использования.

Плохой пример

<string name="network_error">Network error</string>
<string name="call_failed">Call failed</string>
<string name="map_failed">Map loading failed</string>

Хороший пример

<string name="error.message.network">Network error</string>
<string name="error.message.call">Call failed</string>
<string name="error.message.map">Map loading failed</string>

Не пишите строковые значения строчными буквами. Вы можете использовать обычные преобразования текста (в том числе, преобразование первой буквы в прописную). Если потребуется написать всю строку строчными буквами — используйте атрибут textAllCaps объекта TextView.

Плохой пример

<string name="error.message.call">CALL FAILED</string>

Хороший пример

<string name="error.message.call">Call failed</string>

Избегайте глубокой иерархии view. Иногда у вас будет соблазн добавить ещё один LinearLayout, для решения вашей задачи описания view.

В результате может получится примерно следующее

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <RelativeLayout
        ...
        >

        <LinearLayout
            ...
            >

            <LinearLayout
                ...
                >

                <LinearLayout
                    ...
                    >
                </LinearLayout>

            </LinearLayout>

        </LinearLayout>

    </RelativeLayout>

</LinearLayout>

Даже если вы не видите явно выросшую вложенность в файле разметки, она может возникнуть когда вы включаете (в Java) view в другие views.

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

Так что постарайтесь сделать вашу иерархию view как можно более плоской: посмотрите как использовать RelativeLayout, как оптимизировать вашу разметку и использовать

тэг .

Будьте внимательны при использовании WebView. Когда вам нужно показать web-страницу, например новостную статью, избегайте исполнения кода на клиентской стороне для формирования HTML, лучше попросите backend-программистов предоставить «чистый» HTML. WebView также могут вызывать утечку памяти при сохранении ссылки на Activity, к которой привязаны вместа ApplicationContext. Избегайте использования WebView для создания простого текста или кнопки, лучше используйте объекты TextView или Button.

Фреймворки для тестирования

Тестовый фреймворк Android SDK ещё находится в недоделанном состоянии (это они про

Espresso 2.1 ?! — прим. пер.), особенно это касается тестов пользовательского интерфейса. Android Gradle по умолчанию содержит задачу connectedAndroidTest, которая запускает созданные вами тесты JUnit, используя расширение JUnit с утилитами Android. Это обозначает, что вам придётся запускать тесты на устройстве или эмуляторе. Используйте официальные инструкции [1] [2] для тестирования.

Используйте Robolectric только для unit-тестов, не для UI. Этот фреймворк предоставляет возможность для запуска тестов без устройства, для увеличения скорости их выполнения, и идеально подходит для unit-тестов моделей данных и view. Однако, пользовательский интерфейс Robolectric тестирует не полностью и неточно. У вас будут проблемы при тестировании элементов пользовательского интерфейса, относящихся к анимациям, диалогам, и т.д., и процесс тестирования будет проходить «с закрытыми глазами» (не видя экрана).

Robotium делает тестирование пользовательского интерфейса простым. Вы можете запускать UI-тесты без Robotium, но он очень полезен за счёт утилит для анализа view и контроля экрана. Сценарии тестирования будут выглядеть совсем просто:

solo.sendKey(Solo.MENU);
solo.clickOnText("More"); // searches for the first occurence of "More" and clicks on it
solo.clickOnText("Preferences");
solo.clickOnText("Edit File Extensions");
Assert.assertTrue(solo.searchText("rtf"));

Эмуляторы

Если вы занимаетесь Android-разработкой профессионально, купите лицензию на эмулятор Genymotion. Он работает быстрее, чем обычный AVD-эмулятор. Эмулятор Genymotion позволяет записать ролик, демонстрирующий работу вашего приложения, эмулирует различное качество сетевого соединения, сигналы GPS и многое другое. Он идеален для запуска тестов. У вас появится доступ к многим (хотя не ко всем) образам устройств с ОС Android, так что стоимость лицензии Genymotion гораздо дешевле, чем покупка множества устройств.

Подводные камни: Genymotion не позволяет использовать в приложении такие сервисы Google, как Google Play Store или Maps. И если вам понадобится протестировать функции API Samsung, вам придётся купить реальное устройство.

Конфигурация Proguard

ProGuard обычно используется в проектах Android для сжатия и обфускации кода.

Условия использования ProGuard зависят от настроек вашего проекта. Обычно вы настраиваете gradle использовать ProGuard для сборки релизной версии.

buildTypes {
    debug {
        minifyEnabled false
    }
    release {
        signingConfig signingConfigs.release
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

Чтобы указать, какой именно участок кода нуждается в обработке, вы должны отметить одну или несколько точек входа. Обычно это классы с основными методами, апплеты, мидлеты, активности, и т.д. Конфигурация по умолчанию, которую использует Android framework, находится по адресу SDK_HOME/tools/proguard/proguard-android.txt. Вы можете определить свои собственные правила для конфигурации ProGuard, поместив их в файл my-project/app/proguard-rules.pro, и они дополнят конфигурацию по умолчанию.

Самая распространённая проблема, связанная с ProGuard — падение приложения при запуске с ошибками ClassNotFoundException или NoSuchFieldException, даже если команда сборки проекта (например, assembleRelease) отработала без ошибок. Это может означать одну из двух вещей:

  • ProGuard удалил класс, enum, метод, поле или аннотацию, посчитав что она не нужна.
  • ProGuard переименовал класс, enum или поле, но оно вызывается с использованием его старого имени, в том числе через механизм Java reflection.

Проверьте файл app/build/outputs/proguard/release/usage.txt на предмет упоминания удалённого объекта. Если он был переименован, его имя есть в файле app/build/outputs/proguard/release/mapping.txt.

Для того, чтобы защитить нужные классы и методу от удаления ProGuard’ом, добавьте в его конфигурацию опцию keep:

-keep class com.futurice.project.MyClass { *; }

Для защиты от переименования используйте опцию keepnames:

-keepnames class com.futurice.project.MyClass { *; }

Другие возможные модификации конфигурации ProGuard вы можете посмотреть в этом примере. Больше примеров конфигурации Proguard здесь.

В начале вашего проекта, создайте релизную сборку, чтобы проверить, что правила для ProGuard описаны корректно. При подключении новых библиотек, создайте релизную сборку и проверьте исполняемый файл на устройстве. Не ждите версии «1.0» для создания релизной сборки, иначе вы можете получить несколько неприятных сюрпризов в условиях нехватки времени на их исправление.

Совет. Сохраняйте файл mapping.txt для каждого релиза. Имея копию файла mapping.txt для каждой сборки, вы можете быть уверены что сможете найти проблему, кода пользователь поймает баг и пришлёт вам обфускированный лог ошибок.

DexGuard. Если вы хотите круто оптимизировать ваш код, и обфускировать его особым образом, попробуйте использовать DexGuard, коммерческий аналог ProGuard. Он может легко разделить Dex-файл на несколько для обхода ограничения в 65k методов.

Благодарности

Antti Lammi, Joni Karppinen, Peter Tackage, Timo Tuominen, Vera Izrailit, Vihtori Mäntylä, Mark Voit, Andre Medeiros, Paul Houghton и другим разработчикам Futurice за то, что они поделились своими знаниями в области Android.

Лицензия

Futurice Oy Creative Commons Attribution 4.0 International (CC BY 4.0)

Android SDK is a software development kit developed by Google for the Android platform. The Android SDK allows you to create Android apps, and you don’t need to be an expert to use it. In this tutorial, I’ll explain what the Android SDK is and how to get started with it. 

Android SDK comes bundled with Android Studio, Google’s official integrated development environment (IDE) for the Android operating system. You can learn about Android Studio and the Android App Development Kit in another of my articles.

In this post, we’ll look at:

  • What is the Android SDK?
  • How to install the Android SDK
  • What is the Android SDK Manager?
  • What are the components of the Android SDK?

What Is the Android SDK?

Android SDKAndroid SDKAndroid SDK

The Android SDK is a collection of software development tools and libraries required to develop Android applications. Every time Google releases a new version of Android or an update, a corresponding SDK is also released which developers must download and install. It is worth noting that you can also download and use the Android SDK independently of Android Studio, but typically you’ll be working through Android Studio for any Android development.

The Android SDK comprises all the tools necessary to code programs from scratch and even test them. These tools provide a smooth flow of the development process from developing and debugging, through to packaging. 

The Android SDK is compatible with Windows, macOS, and Linux, so you can develop on any of those platforms.

How to Install the Android SDK

The Android SDK is optimized for Android Studio, and hence to effectively reap its benefits, you will need to install Android Studio. Having the Android SDK managed from within Android Studio is easier since support for languages like Java, Kotlin, and C++ is handled automatically. Not only that, but updates to the Android SDK are handled automatically by Android Studio.

To install the Android SDK from within Android Studio, first start Android Studio.

  • From the Android Studio start page, select Configure > SDK Manager.

Configure SDKConfigure SDKConfigure SDK

  • If you already have Android Studio open, the SDK Manager icon is found on the top right corner, as shown below.

SDK Manager iconSDK Manager iconSDK Manager icon

Install the required Android SDK platform packages and developer tools. A good start is to install:

  • Android SDK Build-Tools
  • Android Emulator
  • Android SDK Platform-Tools
  • Android SDK Tools
  • Documentation for Android SDK

Install SDK packagesInstall SDK packagesInstall SDK packages

Click Apply, and Android Studio will install the selected tools and packages.

What Is the SDK Manager?

The Android SDK is composed of modular packages that you can download, install, and update separately using the Android SDK Manager. The SDK Manager helps to update new SDK releases and updates whenever a new Android platform is released. The SDK manager can be found in the top-right corner of the Android Studio screen, as shown below. 

SDK managerSDK managerSDK manager

All that is required to follow the instructions provided, and the updates will be immediately downloaded to your environment.

What Are the Components of the Android SDK?

The Android SDK consists of an emulator, development tools, sample projects with source code, and the required libraries to build Android applications. Let’s look at the key components one by one.

Android SDK Tools

Android SDK Tools is a component of the Android SDK. It includes a complete set of development and debugging tools for Android, and is included with Android Studio. The SDK Tools also consist of testing tools and other utilities required to develop an app.

SDK Build Tools

Build tools are required for building components for building the actual binaries for your Android app. Always ensure your build tools component is up to date by downloading the latest version in the Android SDK Manager.

SDK Platform-Tools

Android Platform-Tools are used to support the features for the current Android platform and are necessary for Android app development. These tools interface with the Android platform on the device you use for testing. They include: 

  • Android Debug Bridge (adb): This is a handy command-line tool that lets you communicate with a device. The adb command allows you to perform device actions, such as installing and debugging apps. It also provides access to a Unix shell that you can use to run a variety of commands on a device.
  • fastboot: This lets you flash a device with a new system image.
  • systrace: This tool helps collect and inspect timing information across all processes running on your device at the system level. It’s crucial for debugging app performance.

SDK Platform-Tools are backward compatible, so you need only one version of the SDK Platform-Tools.

SDK Platform

For each version of Android, there’s one SDK Platform available. These are numbered according to the Android version (e.g. Android 7 Nougat) and an API version (e.g. API Level 24). Before you build an Android app, you must specify an SDK Platform as your build target. Newer SDK Platform versions have more features for developers, but older devices may not be compatible with the newer platform versions.

Google APIs

Google provides a number of exclusive Google APIs to make developing your app easier. They also offer a system image for the emulator so you can test your app using the Google APIs.

Android Emulator

The Android Emulator is a QEMU-based device-emulation tool that simulates Android devices on your computer, allowing developers to test applications on different devices and Android API levels, without needing to have physical devices for each. The emulator comes with configurations for various Android phones, tablets, Wear OS, and Android TV devices.

The Android emulator provides almost all of the capabilities of a real Android device. You can perform the following activities:

  • simulate phone calls and text messages 
  • simulate different network speeds
  • specify the location of the device
  • simulate hardware sensors such as rotation 
  • access Google Play Store and much more

Often it is faster and easier to test your app with an emulator instead of using a physical device. 

Conclusion

In this post, we looked at some of the basics of the Android SDK. The Android SDK is the only way to develop for Android devices. Fortunately, it contains extensive documentation, tutorials, samples, best practice guidance, and an array of tools for many different development tasks. 

Premium Android App Templates From CodeCanyon

Android Studio comes with some default templates to help start an app, but these are very basic and provide minimal, generic functionality. 

CodeCanyon is an online marketplace that has hundreds of additional templates, which are way more feature-rich and domain-specific too. You can save days, even months, of effort by using one of them.

CodeCanyon mobile Android app template bestsellersCodeCanyon mobile Android app template bestsellersCodeCanyon mobile Android app template bestsellers

An Android app template is a great way to jump-start your app project or to learn some new skills by exploring the source code of a professionally made app. 

Take a look at some of our roundups of the best Android app templates: 

Did you find this post useful?

Esther Vaati

Software developer

Software developer and content creator. Student of Life | #Pythonist | Loves to code and write Tutorials

Такая популярная операционная система как Android не может обойтись без мощных и простых средств разработки. И именно здесь Android SDK (Software Development Kit или Набор средств для разработки ПО) показывает себя с лучшей стороны. Сегодня мы установим SDK и посмотрим, что он умеет. Это будет цикл статей о разработке приложений и игр для Android

Подготовка к установке

Android SDK поддерживает большинство современных операционных систем под архитектурой x86 и x86_64, в том числе Windows, многие дистрибутивы Linux и Mac OS X. Также на ПК должен быть установлен Java Development Kit (Java 7 или Java 8) , который обязательно потребуется для многих возможностей SDK, ведь Android неразрывно связан с Java. 

Стоит заметить, что для встроенного эмулятора Android необходимо хорошее «железо» на PC, как, в принципе, и для других современных средств разработки.

Установка с помощью Android Studio

Разработка под Android: устанавливаем SDK

Уже долгое время существует Android Studio — официальная IDE (Integrated Development Enviroment) для разработки под Android. Туда уже включено всё необходимое и устанавливается в один клик. Достаточно лишь установить IDE, и вы также сможете использовать все возможности SDK, интегрированные внутри среды разработки. 

Скачать Android Studio можно с официального сайта. Там же можно найти много полезных гайдов по работе с Android SDK, но, к сожалению, доступны они исключительно на английском языке. 

Установка отдельного пакета

Если вы не рассчитываете использовать такой мощный инструмент как Android Studio или у вас уже есть установленная Intellij IDEA, на основе которой и работает эта среда разработки, то вы можете установить Android SDK отдельно. Однако никаких других преимуществ этот метод установки не даст и рекомендуется воспользоваться предыдущим способом.

Разработка под Android: устанавливаем SDK

Для загрузки отдельного пакета инструментов для разработки без IDE необходимо воспользоваться сайтом Android Developer. Игнорируя все возможные упоминания об Android Studio, спускаемся в самый низ страницы и находим раздел «Get just command line tools» — можно также воспользоваться поиском по странице. После скачивания подходящего пакета для вашей операционной системы, достаточно распаковать в любое удобное для вас хранилище — рекомендуется также указать местоположение SDK в Intellij IDEA (Project Structure > SDK).

Запуск и возможности

Разработка под Android: устанавливаем SDK

Для получения доступа ко всему функционалу Android SDK достаточно запустить пакетный файл android, если вы работаете под Windows, или же в терминале выполнить команду «android» в папке «tools/» вашего SDK для запуска на Linux и MacOS X. Вам будет предложено установить инструменты для разных версий API, чем больше инструментов установлено — тем лучше. Загрузка пакетов может занять много времени в зависимости от вашей системы и скорости интернет-соединения.

Разработка под Android: устанавливаем SDK

Перейдём к описанию основных инструментов:

  • Platform-tools включает в себя основные инструменты взаимодействия с Android, такие как ADB, fastboot и systrace. Android Debugging Bridge поможет отследить ошибки в работе приложений на смартфоне, а также выполнять некоторые действия по работе с APK; fastboot, знакомый всем любителям прошивки своих Android-девайсов, работает в паре с ADB и помогает наладить работу устройства ещё до загрузки ОС, а systrace способен анализировать скорость работы процессов в операционной системе;
  • Build-tools работают вместе с Platform-tools, но могут быть обновлены отдельно. Сюда входят такие утилиты как ProGuard для защиты ваших APK-файлов, JOBB для работы с расширениями в формате *.obb, и Zipalign, необходимый для оптимизации ваших готовых приложений;
  • Кроме того, в SDK предусмотрен продвинутый эмулятор ОС Android, в котором вы сможете протестировать любые приложения и опробовать функции свежих версий Android. Однако для качественной эмуляции необходимо хорошее железо на ПК, также рекомендуется использовать эмуляцию работы x86.

Зачем же нужен Android SDK?

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

  • Антивор, история уведомлений и ещё 7 полезных функций Android, спрятанных глубоко в настройках
  • Простой способ отключить TalkBack на Android. И как запретить ему включаться
  • Сравниваем эмуляторы Android для ПК: какой производительнее, а какой удобнее
  • Как ускорить старый Android: 7 простых и 3 продвинутых способа, которые реально работают
  • Идеальный пароль от девушки, который бесполезно подсматривать. Устанавливаем на Android

Понравилась статья? Поделить с друзьями:
  • Msi afterburner руководство пользователя
  • Правительство города москвы руководство
  • Наринэ капсулы инструкция по применению цена отзывы аналоги
  • Nissan march руководство по ремонту
  • Омез для чего применяется инструкция по применению капсулы