Приложения, опубликованные в Google Play, должны поддерживать 64-битную архитектуру . Добавление 64-битной версии приложения повышает производительность и позволяет настроить его для устройств, поддерживающих только 64-битную архитектуру.
Следующие шаги гарантируют, что ваше 32-разрядное приложение будет поддерживать 64-разрядные устройства.
Оцените свое приложение
Если ваше приложение использует только код, написанный на языке программирования Java или Kotlin, включая все библиотеки и SDK, то оно поддерживает 64-битные устройства. Если ваше приложение использует какой-либо нативный код или вы не уверены в этом, проверьте его.
Быстрая проверка статуса
Перейдите в Play Console и проверьте существующие выпуски, чтобы узнать, соответствуют ли они требованиям.
Play Console также показывает предупреждения, относящиеся к вашим черновикам, если есть проблемы, связанные с требованием 64-разрядной версии. Пример представлен на следующем изображении.
Если появится предупреждение, выполните следующие шаги, чтобы сделать приложение совместимым с 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-битных библиотек |
---|---|---|
РУКА | lib/armeabi-v7a | lib/arm64-v8a |
x86 | lib/x86 | lib/x86_64 |
Обратите внимание, что в зависимости от вашего приложения набор библиотек в каждой папке может быть разным. Цель — обеспечить корректную работу вашего приложения в 64-разрядной среде.
Обычно APK или пакет, собранный как для 32-битной, так и для 64-битной архитектуры, содержит папки для обоих ABI, каждая из которых содержит соответствующий набор нативных библиотек. Если поддержка 64-битной архитектуры отсутствует, вы можете увидеть папку 32-битного ABI, но не папку 64-битного.
Найдите нативные библиотеки с помощью APK Analyzer
APK Analyzer — это инструмент, позволяющий оценить различные аспекты собранного APK-файла. Используйте его для поиска нативных библиотек и обеспечения наличия 64-битных библиотек.
- Откройте Android Studio и откройте любой проект .
В меню выберите Сборка > Анализ APK …
Выберите APK, который вы хотите оценить.
Проверьте папку lib , в которой находятся файлы .so, если они есть. Если их нет, ваше приложение поддерживает 64-битные устройства и никаких дальнейших действий не требуется. Если вы видите armeabi-v7a или x86 , то у вас установлены 32-битные библиотеки.
Проверьте, есть ли аналогичные файлы «.so» в папке arm64-v8a или x86_64 .
Если у вас нет библиотек arm64-v8a или x86_64 , обновите процесс сборки, чтобы начать сборку и упаковку этих артефактов в ваш APK.
Если вы уже видите, что обе библиотеки упакованы, вы можете перейти к тестированию своего приложения на 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' // ...
Котлин
// 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, чтобы минимизировать влияние на размер приложения, связанное с включением как 32-битного, так и 64-битного нативного кода в один APK-файл.
Разработчики игр
Три наиболее используемых движка поддерживают 64-бит:
- Нереально с 2015 года
- Cocos2d с 2015 года
- Unity с 2018 года
Разработчики Unity
Обновление до совместимых версий
Unity обеспечивает поддержку 64-битной архитектуры в версиях 2018.2 и 2017.4.16 .
Если ваша версия Unity не поддерживает 64-битную архитектуру, определите версию, на которую хотите перейти, и следуйте инструкциям Unity по переносу среды, чтобы убедиться, что ваше приложение обновлено до версии, поддерживающей сборку 64-битных библиотек. Unity рекомендует вам получить доступ к последним функциям и обновлениям, обновив редактор до последней LTS- версии.
Вот таблица, в которой обозначены различные версии Unity и что вам следует делать:
Версия Unity | Версия поддерживает 64-бит? | Рекомендуемый курс действий |
---|---|---|
2020.x | ✔️ | Убедитесь, что настройки сборки выводят 64-битные библиотеки. |
2019.x | ✔️ | Убедитесь, что настройки сборки выводят 64-битные библиотеки. |
2018.4 (ДТС) | ✔️ | Убедитесь, что настройки сборки выводят 64-битные библиотеки. |
2018.3 | ✔️ | Убедитесь, что настройки сборки выводят 64-битные библиотеки. |
2018.2 | ✔️ | Убедитесь, что настройки сборки выводят 64-битные библиотеки. |
2018.1 | ➖ | Имеет экспериментальную поддержку 64-бит. |
2017.4 (ДТС) | ✔️ | Поддерживается с версии 2017.4.16 . Убедитесь, что настройки сборки выводят 64-битные библиотеки. |
2017.3 | ✖️ | Обновитесь до версии, поддерживающей 64-бит. |
2017.2 | ✖️ | Обновитесь до версии, поддерживающей 64-бит. |
2017.1 | ✖️ | Обновитесь до версии, поддерживающей 64-бит. |
<=5,6 | ✖️ | Обновитесь до версии, поддерживающей 64-бит. |
Измените настройки сборки для вывода 64-битных библиотек.
Если вы используете версию Unity, поддерживающую 64-битные библиотеки Android, вы можете создать 64-битную версию своего приложения, изменив настройки сборки. Используйте бэкенд IL2CPP в качестве бэкенда для скриптов. Чтобы настроить проект Unity для сборки 64-битной архитектуры, выполните следующие действия:
- Перейдите в настройки сборки и убедитесь, что вы собираете для Android, проверив, что символ Unity находится рядом с Android в разделе «Платформа» . 1. Если символ Unity отсутствует рядом с платформой Android, выберите Android и нажмите «Сменить платформу».
Нажмите «Настройки проигрывателя».
Перейдите в Панель настроек проигрывателя > Настройки для Android > Другие настройки > Конфигурация.
Установите для бэкэнда скриптов значение IL2CPP.
Установите флажок Целевая архитектура > ARM64 .
Строить как обычно!
Обратите внимание, что сборка для ARM64 требует, чтобы все ваши ресурсы были разработаны специально для этой платформы. Следуйте рекомендациям Unity по уменьшению размера APK-файла и рассмотрите возможность использования функции Android App Bundle , чтобы смягчить это увеличение размера.
Совместимость с несколькими APK и 64-битной архитектурой
Если вы используете поддержку нескольких APK в Google Play для публикации своего приложения, обратите внимание, что соответствие требованию 64-битности проверяется на уровне релиза. Однако требование 64-битности не распространяется на APK-файлы или пакеты приложений, которые не распространяются на устройства под управлением 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, используя одну из следующих ссылок, и следуйте инструкциям на экране:
Образы системы Android 14 (Beta 5.2) только для 64-битной версии
Выберите устройство, которое вы пытаетесь прошить:
Образы системы Android 13 (QPR3 Beta 3.2) только для 64-битной версии
Выберите устройство, которое вы пытаетесь прошить:
Перепрошить устройство вручную
Вы также можете загрузить последний образ системы и вручную прошить его на своё устройство. Чтобы загрузить образ системы для вашего тестового устройства, см. таблицу ниже. Ручная прошивка устройства полезна, если вам необходим точный контроль над тестовой средой или если вам приходится часто переустанавливать систему, например, при автоматизированном тестировании.
После создания резервной копии данных устройства и загрузки соответствующего образа системы вы можете прошить образ на свое устройство .
Вы можете в любой момент вернуться к последней публичной сборке .
Заводские образы только для 64-битной версии Android 14 (Beta 5.3)
Эти образы предоставляют строгую 64-битную среду для тестирования совместимости 64-битных приложений. Эти 64-битные конфигурации предназначены только для разработчиков.
Устройство | Ссылка для скачивания | Контрольная сумма SHA-256 |
---|---|---|
Пиксель 4a (5G) | 7e6731fab811ae389f5ff882d5c5a2b8b942b8363b22bbcc038b39d7c539e60a | |
Пиксель 5 | c4da6a19086a02f2cd2fa7a4054e870916954b8e5a61e9a07ee942c537e4b45a | |
Пиксель 6 | 98943384284cbc7323b8867d84c36151757f67ae7633012fb69cb5d6bec2b554 | |
Пиксель 6 Про | 67ec40be5bd05a40fa5dabc1ce6795aae75d1904193d52e2da00425ed7cb895b |
Заводские образы только для 64-битной версии Android 13 (QPR3 Beta 3.2)
Эти образы предоставляют строгую 64-битную среду для тестирования совместимости 64-битных приложений. Эти 64-битные конфигурации предназначены только для разработчиков.
Устройство | Ссылка для скачивания | Контрольная сумма SHA-256 |
---|---|---|
Пиксель 4a (5G) | b4be40924f62c3c2b3ed20a9f7fa4303aa9c39649d778eb96f86c867fe3ae59a | |
Пиксель 5 | 6e5e027a4f64f9f786db9bb69d50d1a551c3f6aad893ae450e1f8279ea1b761a | |
Пиксель 6 | becb9b81a5bddad67a4ac32d30a50dcb372b9d083cb7c046e5180510e479a0b8 | |
Пиксель 6 Про | b0ef544ed2312ac44dc827f24999281b147c11d76356c2d06b2c57a191c60480 |
Вернуться к публичной сборке
Вы можете либо использовать Android Flash Tool для прошивки заводского образа , либо получить образ заводской спецификации системы со страницы «Заводские образы для устройств Nexus и Pixel» , а затем вручную прошить его на устройстве.
Эмулятор Android
Начиная с Android 12 (API уровня 31), образы систем Android Emulator поддерживают только 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, обновите её до OpenSSL 1.1.1i или выше. Если ваше приложение использует SDK, обеспечивающие взаимодействие по протоколу HTTPS, или другие SDK, зависящие от OpenSSL, обязательно обновите SDK до последней версии, использующей более новую версию OpenSSL. Обратитесь к поставщику SDK, если он недоступен.
ARMv8.3 PAC обеспечивает аппаратную поддержку целостности потока управления, аутентифицируя указатели во время выполнения. Более ранние версии OpenSSL используют эти возможности некорректно, что приводит к сбоям во время выполнения на всех устройствах с процессорами на базе ARMv8.3a и выше.
Дополнительную информацию об устранении этой и других проблем, вызванных OpenSSL, см. в соответствующем ответе в Справочном центре Google .
БТИ
В ARMv8.5 и выше для защиты от атак JOP используются инструкции Branch Target (BTI). Более ранние версии 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)
Перед загрузкой вы должны согласиться со следующими условиями.
Условия и положения
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)
Перед загрузкой вы должны согласиться со следующими условиями.
Условия и положения
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)
Перед загрузкой вы должны согласиться со следующими условиями.
Условия и положения
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)
Перед загрузкой вы должны согласиться со следующими условиями.
Условия и положения
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)
Перед загрузкой вы должны согласиться со следующими условиями.
Условия и положения
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)
Перед загрузкой вы должны согласиться со следующими условиями.
Условия и положения
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)
Перед загрузкой вы должны согласиться со следующими условиями.
Условия и положения
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.