Android early look sdk

Android early look sdk

API Level это просто целое число, которое однозначно идентифицирует ревизию рабочего окружения программных библиотек (framework API revision), которая предоставляется версией платформы (операционной системой) Android.

Платформа Android предоставляет framework API, которое могут использовать приложения для взаимодействия с нижележащей системой Android. Framework API состоит из:

• Базового набора пакетов и классов.
• Набора элементов XML и атрибутов для декларирования в файле манифеста (manifest file).
• Набора элементов XML и атрибутов для декларирования и доступа к ресурсам.
• Набора намерений (Intents).
• Набора разрешений доступа к ресурсам устройства и системы, которые приложение может запросить, а также защита ограничения доступа, встроенная в систему.

Каждая последующая версия платформы Android может включать в себя обновления предоставляемого framework API приложения Android.

Обновления framework API разработаны так, чтобы новый API оставался совместимым со всеми более старыми версиями API. Т. е. большинство изменений в API добавочные, и представляют новый функционал, или функционал, заменяющий старый. Поскольку части API были обновлены, то старые заменяемые части объявляются устаревшими и нежелательными для использования (deprecated), но эти старые части все же не удаляются, чтобы существующие приложения могли продолжать их использовать. В очень редких случаях части API могут быть модифицированы или удалены, но только в том случае, если это необходимо для обеспечения устойчивости API и безопасности приложения или системы. Все другие части API от старых ревизий переносятся в новые ревизии платформы без модификации.

Framework API, который поставляет платформа Android, указывается в виде целого числа, и этот идентификатор в виде целого числа называется «API Level». Каждая версия платформы Android поддерживает точно один API Level, несмотря на неявную поддержку всех более старых версий API Level (вплоть до API Level 1). Первоначальный релиз платформы Android предоставлял API Level 1 и с каждым новым релизом номер API Level последовательно увеличивался на единицу.

В таблице ниже указаны поддерживаемые API Level для каждой платформы Android. Для информации по относительным количествам устройств, которые работают на каждой версии, см. страничку [2].

Версия платформы API Level VERSION_CODE
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB
Android 2.3.3, 2.3.4 10 GINGERBREAD_MR1
Android 2.3, 2.3.1, 2.3.2 9 GINGERBREAD
Android 2.2.x 8 FROYO
Android 2.1.x 7 ECLAIR_MR1
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT
Android 1.5 3 CUPCAKE
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE

[Как используется API Level в Android]

Идентификатор API Level играет ключевую роль в предоставлении информации пользователям и разработчикам.

• API Level позволяет платформе (операционной системе) Android описать максимальную ревизию framework API, которую платформа поддерживает.
• API Level позволяет приложениям описать требуемую для них ревизию framework API.
• API Level позволяет системе обрабатывать инсталляции приложений на устройстве пользователя и определять, какие их них являются несовместимыми с текущей версией системы.

Подробнее про использовании API Level в приложении и системе Android см. [3].

[Совместимость приложений с новыми версиями операционной системы Android]

Application forward compatibility — под этим имеют в виду, что приложения Android обычно имеют «совместимость вперед». Т. е. старые приложения, которые скомпилированы в расчете на старую версию операционной системы, будут продолжать нормально работать на всех более новых операционных системах Android.

Поскольку большинство изменений framework API в операционной системе являются добавочными, то приложения Android, разработанные с указанной версией API (как указано по API Level) будут совместимы в будущем (forward-compatible) с последующими версиями платформ Android и более высокими уровнями API level. Приложения должны иметь возможность работать на всех последующих версиях платформы Android, за исключением изолированных случаев, когда приложение использует часть API, которая по некоторым причинам было удалена в поздней ревизии API.

Forward-совместимость важна, потому что множество устройств, работающих на Android, получают обновления системы на лету, по каналу Wi-Fi (over-the-air, OTA). Пользователь может установить Ваше приложение и успешно его использовать, и позднее получить OTA-обновление на новую версию платформы Android. Как только обновление установлено, Ваше приложение будет работать уже в новой версии рабочего окружения, на новом API (run-time version environment), и от этого нового API и возможностей системы будет зависеть работа Вашего приложения.

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

Читайте также:  Как считывать qr код android sony

Application backward compatibility — означает совместимость приложения со старыми версиями операционной системы Android. Приложения не обязательно будут обратно совместимы с версиями платформ Android, которые имеют более старую версию, чем версия системы, под которую приложение было скомпилировано.

Каждая новая версия платформы Android может включать новый framework API, который дает приложениям доступ к возможностям новой платформы, или заменяет существующие части API. Новый API доступен приложениями, когда они работают на новой платформе и, как уже упоминалось, также будет доступен и в более новых версиях платформы, как указано по API Level. С другой стороны, потому что более ранние версии платформы не включают в себя новый API, приложения, использующие новый API, не смогут работать на более старых платформах.

[Выбор версии платформы и API Level]

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

Вы можете задать минимально возможную версию платформы, компилируя приложения на низкую целевую версию платформы. После того, как определите самую низкую версию, Вам нужно создать AVD с соответствующей версией платформы (и API Level) и полностью протестировать Ваше приложение на этой платформе. Убедитесь, что установлен декларированный атрибут android:minSdkVersion в файле манифеста приложения, и его установленное значение соответствует API Level версии платформы.

[Декларирование минимальной версии API Level]

Если Вы компилируете приложение, которое использует API или системные возможности, представленные в последней версии платформы, Вы должны установить атрибут android:minSdkVersion в значение API Level этой последней версии платформы. Это обеспечит, что приложение будет установлено только на тех устройствах, которые будут совместимы с нужной версией платформы Android. В свою очередь это гарантирует, что Ваше приложение может функционировать должным образом на их устройствах.

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

[Тестирование на верхних уровнях API Level]

После того, как скомпилировали приложение, Вы должны убедиться, что протестировали его на платформе, указанной в атрибуте android:minSdkVersion приложения. Чтобы сделать это, создайте AVD, которая использует версию платформы, требуемую приложением. Дополнительно, чтобы убедиться в forward-совместимости, Вы должны запустить и протестировать приложение на всех платформах, которые используют более высокий уровень API Level, чем использует Ваше приложение.

Android SDK включает в себя множество версий платформ, которые Вы можете использовать, включая последнюю версию, и предоставляет инструмент обновления (updater tool), который можно использовать для загрузки других необходимых версий платформ. Чтобы запустить updater, используйте инструмент командную строки android (на Windows это android.bat), находящийся в директории / tools directory. Вы можете запустить SDK updater, если выполните команду android sdk. Вы также можете сделать двойной клик на файле android.bat (под Windows) или android (под OS X/Linux). В ADT Вы можете также получить доступ к updater путем выбора меню Window -> Android SDK Manager.

Чтобы запустить приложение на другой версии платформы в эмуляторе, создайте отдельное виртуальное устройство AVD для каждой версии платформы, которую Вы хотели бы протестировать. Подробнее про AVD см. [5]. Если для тестирования Вы используете физическое устройство, убедитесь, что знаете API Level платформы, на которой запускаете приложение.

[Использование Provisional API Level]

В некоторых случаях может быть доступен «Ранний просмотр (Early Look)» платформы Android SDK. Это означает разработку для платформы, которая пока официально не появилась на рынке. Чтобы начать разработку на платформе, API которой еще не получила финальную версию, то не указывается API Level платформы. Вместо этого Вы должны использовать предварительный (provisional) API Level в манифесте приложения, когда делаете сборку приложения на указанной платформе. Provisional API Level не является числом, это строка, соответствующая кодовому имени еще не выпущенной версии платформы. Provisional API Level будет указан в примечаниях к релизу для ранних релизов SDK (Early Look SDK release), и эта строка чувствительна к регистру символов.

Использование provisional API Level разработано для того, чтобы защитить разработчиков и пользователей устройств от нежелательной публикации или инсталляции приложений, основанных на Early Look framework API, потому что на финальном образе системы приложение может работать не так, как ожидалось.

Читайте также:  Управление bluetooth наушниками android

Provisional API Level будет допустим только при использовании Early Look SDK, и его можно использовать для запуска приложений только в эмуляторе. Приложения, использующие provisional API Level, никогда не могут быть установлены на устройство Android. После финального релиза платформы Вы должны заменить любые экземпляры provisional API Level в Вашем файле манифеста приложения на действительный идентификатор API Level в виде целого числа.

[Фильтрация документации на основе API Level]

Страницы документации на сайте разработчиков Android предоставляют фильтр «Filter by API Level» в правом верхнем углу на каждой страничке. Вы можете использовать этот контрол для того, чтобы просмотреть документацию только для частей API, которые действительно доступны для Вашего приложения, основываясь на API Level, который указан в android:minSdkVersion файла манифеста.

Чтобы использовать фильтрацию, поставьте галочку в чекбоксе для разрешения фильтрации, сразу ниже бокса поиска на странице. Затем установите контрол «Filter by API Level» в тот же API Level, который используется в Вашем приложении. Обратите внимание, что API, представленный в последующих версиях API Level нарисованы серым, и это содержимое будет замаскировано, потому что не будет доступно в Вашем приложении.

Фильтрация по API Level в документации не предоставляет просмотр, что нового представлено в каждом API Level. Фильтрация просто предоставляет метод для просмотра всего API, связанного с указанным API Level, когда исключаются элементы API, представленные в последующих API Levels.

Если Вы решили, что не хотите фильтровать документацию API, то просто отключите опцию, используя флажок. По умолчанию запрещена фильтрация по API Level, так что Вы можете увидеть полный full framework API, не обращая внимания на API Level.

Также имейте в виду, что документация по отдельным элементам API указывает API Level для каждого представленного элемента. API Level для пакетов и классов указывается как «Since » в правом верхнем углу содержимого каждой страницы документации. API Level для членов класса указан в соответствующем заголовочном файле.

Источник

Setting Up Android SDK and NDK for Unreal

How to set up your Android development environment for Unreal 4.25 and later

Unreal Engine 4.25 and later uses the Android Software Development Kit (SDK) distributed with Android Studio for all essential Android development components, including the Android Native Development Kit (NDK). This page provides a walkthrough for setting up Android Studio and ensuring that Unreal Engine recognizes these components correctly, and some troubleshooting tips for managing NDK installations and earlier engine builds.

You should make sure that the Unreal Editor and the Epic Games Launcher are both closed to ensure that there are no problems with either the installation of NDK components or setting your environment variables for the engine.

If you are upgrading from Unreal 4.24 or earlier, we recommend that you uninstall CodeWorks for Android and any existing NDK components, and delete the folder CodeWorks was installed to. Otherwise, Android Studio will continue to use the previous CodeWorks installation folder for SDK updates.

The default installation directory for CodeWorks is C:/NVPACK. Make sure this folder is deleted when you finish uninstalling CodeWorks.

If you need to support an earlier installation of Unreal Engine while also maintaining an installation of Unreal 4.25 or later, refer to the sections on Manually Targeting SDK Paths and Android NDK Compatibility below.

1. Installing Android Studio

Before setting up the required SDK and NDK components on your computer, you need to install Android Studio.

Refer to Android Development Requirements for information about which Android Studio and NDK versions are compatible with your current version of Unreal Engine.

Navigate to the Android Studio Archive in your web browser. Scroll down to Android Studio 4.0, click to unfold the dropdown, and download the appropriate installer or zip file for your operating system.

Click image for full size.

Run the Android Studio installer. In the Welcome to Android Studio Setup dialog, click Next to continue.

Click image for full size.

In the Choose Components dialog, click Next to continue. You can leave the default components enabled.

Click image for full size.

In the Configuration Settings dialog, select an appropriate install location and click Next to continue. We recommend using the default location.

Click image for full size.

In the Choose Start Menu Folder, click Install to begin the installation process.

Click image for full size.

When the installation finishes, click Next to begin setting up components.

Click image for full size.

When setup completes, make sure the Start Android Studio box is checked and click Finish to exit the installer.

2. Setting Up Android Studio for First-Time Use

When you start your new install of Android Studio for the first time, follow these steps:

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

When the Import Android Studio Settings dialog appears, select do not import settings, then click OK to continue.

When the Data Sharing dialog appears, choose whether or not you want to send usage statistics to Google. This is an option you may choose at your discretion, and either choice will continue to the next step.

Click image for full size.

The Android Studio Setup Wizard will appear. Click Next to continue. If you are prompted for an update, click the X button to dismiss the prompt, as you need to specifically install version 3.5.3.

Click image for full size.

In the Install Type dialog, select Custom and click Next.

Click image for full size.

In the Select UI Theme dialog, choose your preferred theme and click Next.

Click image for full size.

In the Verify Settings dialog, check to make sure that you are using the default SDK path. Click Finish to finalize your setup and begin downloading components.

Click image for full size.

If you do not use the default SDK path, it is possible for SetupAndroid.bat to fail during a later step, as it will be unable to locate needed files.

When components are finished downloading, click Finish again to end setup.

Finalizing Android Studio Installation on Your OS

If you are on Windows, restart your computer.

If you are on Linux, close your terminal window and reopen it.

If you are on MacOS, you can either close your terminal window and reopen it, or log out and log back in.

3. Setting Up Android NDK

Navigate to your Unreal Engine 4 install directory — for example, C:/Program Files/Epic Games/UE_4.25.

Open Engine/Extras/Android.

Inside this directory, run the SetupAndroid script appropriate for your operating system. SetupAndroid.bat is for Windows, SetupAndroid.command is for Mac, and SetupAndroid.sh is for Linux.

Click image for full size.

You will be prompted to accept the Android SDK license agreement. Type Y and press Enter to accept.

Click image for full size.

When the installation completes, press any key to dismiss the command prompt.

Restart your computer for all changes to take effect.

This script will download and install the required version of Android NDK for you in your Android home directory. The install directory for NDK should be C:/Users/[Username]/AppData/Local/Android/SDK/ndk/, where «username» is your login name for your computer. You should see a folder containing the required NDK version.

In the event that you receive an error stating that repositories.cfg cannot be loaded, navigate to the folder where it is expected (usually C:/Users/[Username].android/repositories ) and create an empty repositories.cfg file. Android setup should then proceed normally.

If you receive an error stating that a package called lldb;3.1 could not be loaded, open the SetupAndroid script with a text editor, and locate the line of code that reads:

Remove the entry in this list for lldb;3.1 , but leave the others. This will enable setup to run normally. This issue is addressed in Unreal Engine 4.25.1 and later.

Manually Targeting SDK Paths

If you followed the above how-to sections correctly, Unreal Engine will automatically associate the SDK paths for the Android SDK, the current Android NDK version, and the Java Development Kit (JDK). However, if you are using an earlier version of the Unreal Engine alongside Android Studio, you may need to manually target your SDK paths to be compatible. This is most likely to be the case if you have an installation of Unreal Engine alongside an earlier version that used CodeWorks.

Do not install CodeWorks and Android Studio at the same time, otherwise you will receive errors. If you need to support an earlier version of Unreal Engine alongside 4.25 or later, use the Android Studio setup in this document, then follow the instructions in this section.

You can find the SDK paths by opening Edit > Project Settings, navigating to the Platforms > Android > Android SDK section.

When these fields are left blank, they fall back on a set of default paths used by the installation process in the previous sections. If you have multiple installations of these components, or have installed them in non-standard directories, you can manually provide their paths here. Alternatively, you can open DefaultEngine.ini and provide them under the [/Script/AndroidPlatformEditor.AndroidSDKSettings] section.

If the entries for SDKPath , NDKPath , and JDKPath do not exist in your DefaultEngine.ini, they will use the default path to the Android home directory.

Android SDK and NDK Compatibility

The following table shows which NDK and Android Studio versions are required or compatible with different versions of Unreal Engine.

Источник

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