Поддержка 64-разрядных устройств

Приложения, опубликованные в Google Play, должны поддерживать 64-разрядные архитектуры. Добавив 64-разрядную версию приложения, вы повысите его производительность и обеспечите совместимость с устройствами, поддерживающими только 64-разрядные версии приложений.

Чтобы обеспечить поддержку 64-разрядных устройств в 32-разрядном приложении, выполните следующие действия:

Оцените свое приложение

Если в вашем приложении используется только код, написанный на языке программирования Java или Kotlin, включая все библиотеки и SDK, то оно поддерживает 64-разрядные устройства. Если в вашем приложении используется нативный код или вы не уверены в этом, проверьте приложение.

Быстрая проверка статуса

Перейдите в Play Console и проверьте, соответствуют ли существующие выпуски правилам.

Если в проектах выпусков есть проблемы, связанные с поддержкой 64-битной архитектуры, в Play Console также будут показаны предупреждения. Пример показан на изображении ниже.

Если вы увидите предупреждение, выполните описанные ниже действия, чтобы обеспечить совместимость приложения с 64-разрядными устройствами.

Используется ли в вашем приложении нативный код?

Приложение использует нативный код, если оно:

  • использует в приложении код C/C++ (нативный);
  • Связывается со сторонними нативными библиотеками.
  • Создано с помощью стороннего конструктора приложений, использующего нативные библиотеки.

Есть ли в вашем приложении 64-разрядные библиотеки?

Проверьте структуру APK-файла. При сборке APK-файла в него упаковываются все нативные библиотеки, необходимые для работы приложения. Они хранятся в разных папках в зависимости от двоичного интерфейса приложения (ABI). Поддерживать все 64-разрядные архитектуры необязательно, но для каждой нативной 32-разрядной архитектуры, которую вы поддерживаете, необходимо включить соответствующую 64-разрядную архитектуру.

Для архитектуры ARM 32-разрядные библиотеки находятся в папке armeabi-v7a. 64-разрядный эквивалент – arm64-v8a.

Для архитектуры x86 найдите x86 для 32-разрядной версии и x86_64 для 64-разрядной.

Убедитесь, что нативные библиотеки есть в обеих папках. Подведем итоги:

Платформа Папка с 32-разрядными библиотеками Папка с 64-разрядными библиотеками
ARM lib/armeabi-v7a lib/arm64-v8a
x86 lib/x86 lib/x86_64

Обратите внимание, что в зависимости от приложения в каждой папке может быть или не быть точно такой же набор библиотек. Цель – убедиться, что приложение корректно работает в среде, поддерживающей только 64-разрядные версии.

Обычно в APK-файле или наборе, созданном для 32- и 64-разрядной архитектуры, есть папки для обоих двоичных интерфейсов приложений, в каждой из которых находится соответствующий набор нативных библиотек. Если поддержки 64-разрядных устройств нет, вы можете увидеть папку ABI для 32-разрядных устройств, но не для 64-разрядных.

Как найти нативные библиотеки с помощью APK Analyzer

APK Analyzer – это инструмент, который позволяет оценивать различные аспекты созданного APK-файла. Найдите в нем все нативные библиотеки и убедитесь, что среди них есть 64-разрядные.

  1. Откройте Android Studio и запустите любой проект.
  2. В меню выберите Build (Сборка) > Analyze APK (Анализ APK).

    Запустить APK Analyzer

  3. Выберите APK-файл, который хотите проверить.

  4. Проверьте папку lib, в которой хранятся файлы SO. Если таких файлов нет, значит приложение поддерживает 64-разрядные устройства и никаких действий не требуется. Если вы видите armeabi-v7a или x86, значит у вас 32-разрядные библиотеки.

  5. Проверьте, есть ли у вас похожие SO-файлы в папке arm64-v8a или x86_64.

    Запустить APK Analyzer

  6. Если у вас нет библиотек arm64-v8a или x86_64, обновите процесс сборки, чтобы начать создавать и упаковывать эти артефакты в APK.

  7. Если обе библиотеки уже упакованы, перейдите к разделу Тестирование приложения на 64-разрядном оборудовании.

Как найти нативные библиотеки, распаковав APK-файлы

APK-файлы имеют такую же структуру, как ZIP-файлы. Извлеките APK-файл с помощью командной строки или любого другого инструмента. В зависимости от используемого инструмента извлечения, вам может потребоваться переименовать файл в .zip.

Просмотрите извлеченные файлы и определите, поддерживает ли ваше приложение 64-разрядные устройства, следуя инструкциям выше. Вы можете выполнить следующую команду из командной строки:

:: Command Line
> zipinfo -1 YOUR_APK_FILE.apk | grep \.so$
lib/armeabi-v7a/libmain.so
lib/armeabi-v7a/libmono.so
lib/armeabi-v7a/libunity.so
lib/arm64-v8a/libmain.so
lib/arm64-v8a/libmono.so
lib/arm64-v8a/libunity.so

Обратите внимание, что в этом примере присутствуют библиотеки armeabi-v7a и arm64-v8a. Это означает, что приложение поддерживает 64-разрядные архитектуры.

Как создать приложение с 64-разрядными библиотеками

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

Сборка с помощью Android Studio или Gradle

В большинстве проектов Android Studio в качестве базовой системы сборки используется Gradle, поэтому этот раздел относится к обоим случаям. Чтобы включить сборки для нативного кода, добавьте arm64-v8a и/или x86_64 (в зависимости от того, какие архитектуры вы хотите поддерживать) в параметр ndk.abiFilters в файле build.gradle приложения:

Яркий

// Your app's build.gradle
plugins {
  id 'com.android.app'
}

android {
   compileSdkVersion 27
   defaultConfig {
       appId "com.google.example.64bit"
       minSdkVersion 15
       targetSdkVersion 28
       versionCode 1
       versionName "1.0"
       ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
// ...

Kotlin

// Your app's build.gradle
plugins {
    id("com.android.app")
}

android {
    compileSdkVersion(27)
    defaultConfig {
        appId = "com.google.example.64bit"
        minSdkVersion(15)
        targetSdkVersion(28)
        versionCode = 1
        versionName = "1.0"
        ndk {
            abiFilters += listOf("armeabi-v7a","arm64-v8a","x86","x86_64")
        }
// ...

Сборка с помощью CMake

Если ваше приложение создано с помощью CMake, вы можете создать сборку для 64-разрядных ABI, передав arm64-v8a в параметр -DANDROID_ABI:

:: Command Line
> cmake -DANDROID_ABI=arm64-v8a … or
> cmake -DANDROID_ABI=x86_64 …

Как выполнить сборку с помощью ndk-build

Если ваше приложение создано с помощью ndk-build, вы можете создать 64-разрядные ABI, изменив файл Application.mk с помощью переменной APP_ABI:

APP_ABI := armeabi-v7a arm64-v8a x86 x86_64

Перенос 32-разрядного кода в 64-разрядный

Если ваш код уже работает на компьютере или устройстве iOS, вам не нужно ничего делать для Android. Если вы впервые собираете код для 64-разрядной системы, основная проблема, которую вам нужно решить, заключается в том, что указатели больше не помещаются в 32-разрядные целочисленные типы, такие как int.

Обновите код, который хранит указатели в таких типах, как int, unsigned или uint32_t. В системах Unix long соответствует размеру указателя, но в Windows это не так. Вместо этого используйте типы uintptr_t или intptr_t, которые отражают намерение. Чтобы сохранить разницу между двумя указателями, используйте тип ptrdiff_t.

Всегда отдавайте предпочтение целочисленным типам фиксированной ширины, определенным в <stdint.h>, а не типам нефиксированной ширины, таким как int или long, даже для неуказателей.

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

-Werror=pointer-to-int-cast
-Werror=int-to-pointer-cast
-Werror=shorten-64-to-32

Та же проблема возникает с классами Java, у которых есть поля int, содержащие указатели на объекты C/C++. Найдите jint в исходном коде JNI и переключитесь на long в Java и jlong в C++.

Неявные объявления функций гораздо опаснее для 64-битного кода. C/C++ предполагают, что тип возвращаемого значения неявно объявленной функции (то есть функции, объявление которой компилятор не видел) – int. Если фактический тип возвращаемого значения функции – указатель, то в 32-разрядной системе, где указатель помещается в int, все будет работать нормально. Однако в 64-разрядной системе компилятор отбросит верхнюю половину указателя. Пример:

// This function returns a pointer:
// extern char* foo();

// If you don't include a header that declares it,
// when the compiler sees this:
char* result = foo();

// Instead of compiling that to:
result = foo();

// It compiles to something equivalent to:
result = foo() & 0xffffffff;

// Which will then cause a SIGSEGV if you try to dereference `result`.

Следующий флаг компилятора превращает предупреждения о неявном объявлении функций в ошибки, чтобы вам было проще найти и устранить эту проблему:

-Werror=implicit-function-declaration

Если у вас есть встроенный ассемблер, перепишите его или используйте обычную реализацию C/C++.

Если у вас есть заданные в коде размеры типов (например, 8 или 16 байт), замените их эквивалентным выражением sizeof(T), например sizeof(void*).

Если вам нужно условно скомпилировать разный код для 32- и 64-разрядных версий, вы можете использовать #if defined(__LP64__) для общих различий между 32- и 64-разрядными версиями или __arm__, __aarch64__ (arm64), __i386__ (x86) и __x86_64__ для конкретных архитектур, поддерживаемых Android.

Скорректируйте строки формата для функций, подобных printf или scanf, поскольку традиционные спецификаторы формата не позволяют указывать 64-битные типы так, чтобы они корректно работали как на 32-битных, так и на 64-битных устройствах. Макросы PRI и SCN в <inttypes.h> решают эту проблему: PRIxPTR и SCNxPTR для записи и чтения шестнадцатеричных указателей, а PRId64 и SCNd64 для записи и чтения 64-битных значений.

При сдвиге вам может потребоваться использовать 1ULL, чтобы получить 64-битную константу для сдвига, а не 1, которая имеет только 32 бита.

Как уменьшить размер приложения с помощью Набора Android App Bundle

Если вы добавите в приложение поддержку 64-разрядной архитектуры, размер APK-файла может увеличиться. Мы настоятельно рекомендуем использовать Набор Android App Bundle, чтобы минимизировать размер APK-файла, содержащего нативный код для 32- и 64-разрядных архитектур.

Разработчики игр

Три самых популярных движка поддерживают 64-разрядные версии:

  • Unreal с 2015 года
  • Cocos2d с 2015 года
  • Unity (с 2018 г.)

Разработчики Unity

Переход на версии с поддержкой функции

Поддержка 64-разрядных систем реализована в Unity версий 2018.2 и 2017.4.16.

Если вы используете версию Unity, которая не поддерживает 64-разрядные библиотеки, выберите версию, на которую хотите перейти, и следуйте инструкциям Unity по переносу среды. Убедитесь, что в новой версии можно создавать 64-разрядные библиотеки. Чтобы получить доступ к последним функциям и обновлениям, Unity рекомендует перейти на последнюю версию редактора с долгосрочной поддержкой.

В таблице ниже указаны версии Unity и действия, которые нужно выполнить.

Версия Unity Поддерживает ли версия 64-разрядные устройства? Рекомендуемые действия

2020.x

✔️

Убедитесь, что в настройках сборки указан вывод 64-разрядных библиотек.

2019.x

✔️

Убедитесь, что в настройках сборки указан вывод 64-разрядных библиотек.

2018.4 (LTS)

✔️

Убедитесь, что в настройках сборки указан вывод 64-разрядных библиотек.

2018.3

✔️

Убедитесь, что в настройках сборки указан вывод 64-разрядных библиотек.

2018.2

✔️

Убедитесь, что в настройках сборки указан вывод 64-разрядных библиотек.

2018.1

➖

Экспериментальная поддержка 64-разрядных систем.

2017.4 (LTS)

✔️

Поддерживается начиная с версии 2017.4.16. Убедитесь, что в настройках сборки указан вывод 64-разрядных библиотек.

03.2017

✖️

Перейдите на версию, которая поддерживает 64-разрядную архитектуру.

2017.2

✖️

Перейдите на версию, которая поддерживает 64-разрядную архитектуру.

2017.1

✖️

Перейдите на версию, которая поддерживает 64-разрядную архитектуру.

<=5,6

✖️

Перейдите на версию, которая поддерживает 64-разрядную архитектуру.

Измените настройки сборки, чтобы получить 64-разрядные библиотеки

Если вы используете версию Unity, которая поддерживает 64-разрядные библиотеки Android, то можете создать 64-разрядную версию приложения, изменив настройки сборки. В качестве серверной части скриптов используйте серверную часть IL2CPP. Чтобы настроить проект Unity для сборки 64-разрядной архитектуры, выполните следующие действия:

  1. Перейдите в Build Settings (Настройки сборки) и убедитесь, что вы создаете сборку для Android. Для этого проверьте, есть ли символ Unity рядом с Android в разделе Platform (Платформа). 1. Если рядом с платформой Android нет символа Unity, выберите Android и нажмите Switch Platform (Переключить платформу).
  2. Нажмите Настройки проигрывателя.

    Настройки проигрывателя в Unity

  3. Перейдите в раздел Player Settings Panel (Панель настроек проигрывателя) > Settings for Android (Настройки для Android) > Other settings (Другие настройки) > Configuration (Конфигурация).

  4. В поле Scripting Backend (Серверная часть скриптов) выберите IL2CPP.

  5. Установите флажок Target Architecture (Целевая архитектура) > ARM64.

    задать целевые архитектуры в Unity

  6. Стройте как обычно!

Обратите внимание, что для сборки ARM64 все ваши объекты должны быть созданы специально для этой платформы. Чтобы уменьшить размер APK-файла, следуйте рекомендациям Unity. Также вы можете воспользоваться функцией Android App Bundle.

Поддержка нескольких APK-файлов и 64-разрядных версий

Если вы используете поддержку нескольких APK-файлов в Google Play, то соответствие требованию о 64-разрядных версиях оценивается на уровне выпуска. Однако требование о поддержке 64-разрядной архитектуры не распространяется на APK-файлы и наборы App Bundle, которые не предназначены для устройств с Android 9 Pie или более поздней версией ОС.

Если один из ваших APK-файлов помечен как не соответствующий требованиям, но это более ранняя версия и привести ее в соответствие невозможно, вы можете добавить атрибут maxSdkVersion="27" в элемент uses-sdk в манифесте этого APK. Этот APK-файл не поставляется на устройства с Android 9 Pie или более поздней версией ОС и больше не блокирует соответствие требованиям.

RenderScript и поддержка 64-разрядных устройств

Если ваше приложение использует RenderScript и было создано с помощью более ранней версии инструментов Android, у него могут возникнуть проблемы с совместимостью с 64-разрядными устройствами. При использовании инструментов сборки версии ниже 21.0.0 компилятор может генерировать бит-код во внешний файл .bc. Эти устаревшие файлы .bc больше не поддерживаются для 64-разрядных архитектур, поэтому наличие файла в APK приводит к проблеме с соответствием.

Чтобы устранить проблему, удалите все файлы .bc из проекта, обновите среду до версии build-tools-21.0.0 или более поздней и задайте для параметра renderscriptTargetApi в Android Studio значение 21 или выше, чтобы компилятор не создавал файлы .bc. Затем пересоберите приложение, проверьте файлы .bc и загрузите его в Play Console.

Как протестировать приложение на 64-разрядном оборудовании

64-разрядная версия приложения должна иметь такое же качество и набор функций, как и 32-разрядная. Протестируйте приложение, чтобы убедиться, что оно работает без сбоев на современных 64-разрядных устройствах.

Устройства, поддерживающие только 64-разрядные приложения

По возможности рекомендуем протестировать приложение в среде, поддерживающей только 64-разрядную архитектуру. Для этого можно использовать один из следующих вариантов:

Google Pixel с образом системы, поддерживающим только 64-разрядную архитектуру.

Чтобы упростить разработку и тестирование приложений, мы подготовили специальные образы системы со строго 64-разрядной средой для некоторых устройств Pixel. Эти образы, предназначенные только для 64-разрядных систем, изначально поставлялись вместе со стандартными заводскими образами системы для предварительных выпусков Android 13 и 14, но вы можете продолжать использовать их при тестировании приложения на совместимость с 64-разрядными системами.

Как получить образ только для 64-разрядных устройств

Как и в случае с заводскими образами системы, вы можете прошить 64-разрядный образ на свое устройство с помощью Android Flash Tool или вручную, как описано в следующих разделах.

Как прошить устройство с помощью Android Flash Tool

Android Flash Tool позволяет безопасно установить образ системы на поддерживаемое устройство Pixel. Android Flash Tool работает с любым браузером, который поддерживает WebUSB, например Chrome или Edge 79+.

Android Flash Tool пошагово проведет вас через процесс прошивки устройства. Вам не нужно устанавливать инструменты, но потребуется разблокировать устройство и включить отладку по USB в параметрах для разработчиков. Полные инструкции можно найти в документации по Android Flash Tool.

Подключите устройство по USB, а затем, в зависимости от типа образа системы, который вы хотите установить, перейдите в Android Flash Tool по одной из следующих ссылок и следуйте инструкциям на экране:

  • Образы 64-разрядных систем Android 14 (бета-версия 5.2)

    Выберите устройство, которое вы хотите прошить:

  • Образы 64-разрядной системы Android 13 (QPR3 Beta 3.2)

    Выберите устройство, которое вы хотите прошить:

Как прошить устройство вручную

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

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

Вы можете в любой момент вернуться к последней общедоступной сборке.

Заводские образы только для 64-разрядных устройств с Android 14 (бета-версия 5.3)

Эти образы предоставляют строгую 64-разрядную среду для тестирования совместимости 64-разрядных приложений. Эти конфигурации предназначены только для разработчиков.

Устройство Ссылка для скачивания Контрольная сумма SHA-256
Pixel 4a 5G 7e6731fab811ae389f5ff882d5c5a2b8b942b8363b22bbcc038b39d7c539e60a
Pixel 5 c4da6a19086a02f2cd2fa7a4054e870916954b8e5a61e9a07ee942c537e4b45a
Pixel 6 98943384284cbc7323b8867d84c36151757f67ae7633012fb69cb5d6bec2b554
Pixel 6 Pro 67ec40be5bd05a40fa5dabc1ce6795aae75d1904193d52e2da00425ed7cb895b
Заводские образы только для 64-разрядных устройств с Android 13 (QPR3 Beta 3.2)

Эти образы предоставляют строгую 64-разрядную среду для тестирования совместимости 64-разрядных приложений. Эти конфигурации предназначены только для разработчиков.

Устройство Ссылка для скачивания Контрольная сумма SHA-256
Pixel 4a 5G b4be40924f62c3c2b3ed20a9f7fa4303aa9c39649d778eb96f86c867fe3ae59a
Pixel 5 6e5e027a4f64f9f786db9bb69d50d1a551c3f6aad893ae450e1f8279ea1b761a
Pixel 6 becb9b81a5bddad67a4ac32d30a50dcb372b9d083cb7c046e5180510e479a0b8
Pixel 6 Pro b0ef544ed2312ac44dc827f24999281b147c11d76356c2d06b2c57a191c60480
Как вернуться к общедоступной сборке

Вы можете использовать Android Flash Tool, чтобы прошить заводской образ, или получить образ системы с заводскими характеристиками на странице Заводские образы для устройств Nexus и Pixel и вручную прошить его на устройстве.

Эмулятор Android

Начиная с Android 12 (уровень API 31), системные образы эмулятора Android являются только 64-разрядными. Создайте виртуальное устройство Android (AVD), используя образ системы с Android 12 (уровень API 31) или более поздней версии, чтобы получить среду, поддерживающую только 64-разрядные приложения.

Другие варианты устройств

Если у вас нет ни одного из этих устройств и вы не можете использовать эмулятор Android, то лучше всего взять устройство с поддержкой 64-разрядной архитектуры, например Google Pixel или другую флагманскую модель.

Установите и протестируйте приложение

Проще всего протестировать APK-файл, установив приложение с помощью Android Debug Bridge (adb). В большинстве случаев вы можете указать --abi в качестве параметра, чтобы определить, какие библиотеки нужно установить на устройство. В этом случае на устройство будут установлены только 64-разрядные библиотеки.

:: Command Line
# A successful install:
> adb install --abi armeabi-v7a YOUR_APK_FILE.apk
Success

# If your APK does not have the 64-bit libraries:
> adb install --abi arm64-v8a YOUR_APK_FILE.apk
adb: failed to install YOUR_APK_FILE.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

# If your device does not support 64-bit, an emulator, for example:
> adb install --abi arm64-v8a YOUR_APK_FILE.apk
ABI arm64-v8a not supported on this device

После установки протестируйте приложение, чтобы убедиться, что его качество не уступает 32-разрядной версии.

Проверьте, нет ли известных проблем с совместимостью

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

SoLoader

Если вы используете SDK для загрузки нативного кода SoLoader, обновите его до версии 0.10.4 или более поздней. Если в вашем приложении используются SDK, зависящие от SoLoader, обновите их до последней стабильной версии.

В SoLoader версии 0.9.0 и более ранних предполагается, что системные библиотеки находятся в каталоге /vendor/lib:/system/lib. Эта ошибка не наблюдается на устройствах, где путь существует, например на Pixel 7, но приводит к сбоям на устройствах, где системные библиотеки находятся только в /vendor/lib64:/system/lib64.

Подробнее о том, как устранить эту и другие проблемы, вызванные SoLoader, рассказывается в Справочном центре Google.

OpenSSL

Если вы используете библиотеку OpenSSL, обновите ее до версии 1.1.1i или более поздней. Если в вашем приложении используются SDK, которые обеспечивают связь по протоколу HTTPS, или другие SDK, зависящие от OpenSSL, обновите их до последней версии, в которой используется более новая версия OpenSSL. Если такой версии нет, обратитесь к поставщику SDK.

Функция PAC в ARMv8.3 обеспечивает аппаратный контроль целостности потока управления за счет аутентификации указателей во время выполнения. В более ранних версиях OpenSSL эти возможности используются некорректно, что приводит к сбоям во время выполнения на всех устройствах с процессорами на базе ARMv8.3a и более поздних версий.

Подробную информацию о том, как устранить эту и другие проблемы, связанные с OpenSSL, можно найти в Справочном центре Google.

BTI

В ARMv8.5 и более поздних версиях используются инструкции Branch Target Instructions (BTI), которые помогают защититься от JOP-атак. Более ранние версии SDK для обфускации, которые переходят к случайным смещениям библиотек, созданных с помощью BTI, могут вызывать сбои в работе приложений. Поскольку инструкции закодированы как HINT, эта ошибка не наблюдается на устройствах, которые не поддерживают BTI.

Опубликовать

Когда вы будете уверены, что приложение готово, опубликуйте его как обычно. Как и всегда, следуйте рекомендациям по развертыванию приложения. Мы советуем использовать каналы закрытого тестирования, чтобы выпустить приложение для ограниченного числа пользователей и убедиться в его качестве.

Как и в случае с любым крупным обновлением, перед публикацией приложения для широкой аудитории тщательно протестируйте его на устройствах с поддержкой 64-разрядной архитектуры.

Скачать Android 14 factory system image (64-bit-only)

Перед загрузкой вы должны согласиться со следующими условиями.

Условия и положения

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Скачать Android 14 factory system image (64-bit-only)

bramble_beta_64-upb5.230623.006-factory-7e6731fa.zip

Скачать Android 14 factory system image (64-bit-only)

Перед загрузкой вы должны согласиться со следующими условиями.

Условия и положения

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Скачать Android 14 factory system image (64-bit-only)

redfin_beta_64-upb5.230623.006-factory-c4da6a19.zip

Скачать Android 14 factory system image (64-bit-only)

Перед загрузкой вы должны согласиться со следующими условиями.

Условия и положения

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Скачать Android 14 factory system image (64-bit-only)

oriole_beta_64-upb5.230623.006-factory-98943384.zip

Скачать Android 14 factory system image (64-bit-only)

Перед загрузкой вы должны согласиться со следующими условиями.

Условия и положения

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Скачать Android 14 factory system image (64-bit-only)

raven_beta_64-upb5.230623.006-factory-67ec40be.zip

Скачать Android 13 factory system image (64-bit-only)

Перед загрузкой вы должны согласиться со следующими условиями.

Условия и положения

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Скачать Android 13 factory system image (64-bit-only)

bramble_64-t3b3.230413.009-factory-b4be4092.zip

Скачать Android 13 factory system image (64-bit-only)

Перед загрузкой вы должны согласиться со следующими условиями.

Условия и положения

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Скачать Android 13 factory system image (64-bit-only)

redfin_64-t3b3.230413.009-factory-6e5e027a.zip

Скачать Android 13 factory system image (64-bit-only)

Перед загрузкой вы должны согласиться со следующими условиями.

Условия и положения

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Скачать Android 13 factory system image (64-bit-only)

oriole_64-t3b3.230413.009-factory-becb9b81.zip

Скачать Android 13 factory system image (64-bit-only)

Перед загрузкой вы должны согласиться со следующими условиями.

Условия и положения

By clicking to accept, you hereby agree to the following:

All use of this development version SDK will be governed by the Android Software Development Kit License Agreement (available at https://developer.android.com/studio/terms and such URL may be updated or changed by Google from time to time), which will terminate when Google issues a final release version.

Your testing and feedback are important part of the development process and by using the SDK, you acknowledge that (i) implementation of some features are still under development, (ii) you should not rely on the SDK having the full functionality of a stable release; (iii) you agree not to publicly distribute or ship any application using this SDK as this SDK will no longer be supported after the official Android SDK is released; and (iv) you agree that Google may deliver elements of the SDK to your devices via auto-update (OTA or otherwise, in each case as determined by Google).

WITHOUT LIMITING SECTION 10 OF THE ANDROID SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT, YOU UNDERSTAND THAT A DEVELOPMENT VERSION OF A SDK IS NOT A STABLE RELEASE AND MAY CONTAIN ERRORS, DEFECTS AND SECURITY VULNERABILITIES THAT CAN RESULT IN SIGNIFICANT DAMAGE, INCLUDING THE COMPLETE, IRRECOVERABLE LOSS OF USE OF YOUR COMPUTER SYSTEM OR OTHER DEVICE.
Скачать Android 13 factory system image (64-bit-only)

raven_64-t3b3.230413.009-factory-b0ef544e.zip