Есть android 64 bit

Перевод «Подготовьте ваши приложения к 64-бит требованиям»

Перевод статьи Get your apps ready for the 64-bit requirement (от 15.01.2019) блога «Android Developers Blog».

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

Мы хотим помочь вам быть готовыми, и знаем что вам нужно планировать время. Мы поддерживаем 64-бит CPU начиная с Android 5.0 Lolipop, и в 2017 году мы впервые анонсировали, что приложения использующие нативный код, должны иметь 64-бит версию (в дополнение к 32-бит версии). Сегодня мы представляем более детальную информацию и временной график, чтобы сделать этот переход как можно более лёгким в 2019 году

64-бит требования: что это означает для разработчиков

Начиная с 1 августа 2019

  • все новые приложения и обновления приложений, которые содержат нативный код, должны иметь 64-бит версию в дополнение к 32-бит версиям при публикации в Google Play
  • Дополнение: Google Play до августа 2021 продолжит принимать 32-бит версии только в части обновления существующих игр использующих Unity версии 5.6 или младше

Начиная с августа 2021

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

Эти требования не применяются для:

  • приложений предназначенных исключительно для Wear OS или Android TV, т.к. они имеют форм-фактор не поддеживающий в настоящее время 64-бит код
  • приложений не предназначенных для распространения на устройствах работающих на Android 9 Pie или выше

Мы не меняем наши условия поддержки 32-бит. Play будет продолжать доставлять приложения на 32-бит устройства. Это требование лишь означает что приложения с 32-бит нативным кодом должны будут дополнительно иметь 64-бит версию

Подготовка к 64-бит требованиям

Мы ожидаем что для большинства разработчиков, переход на 64-бит будет простым. Многие приложения написаны полностью на не-нативном коде (например на Java или Kotlin) и не потребуют изменения кода.

ВСЕМ РАЗРАБОТЧИКАМ: вот обзор шагов который вам необходимо проделать для 64-бит совместимости. Для большей информации обратитесь к нашей подробной документации

  • проверьте ваше приложение на наличие нативного кода. Вы можете проверить наличие .so файлов с помощью APK Analyzer. Определите состоят ли они из вашего собственного кода или импортированного из SDK или используемой вами библиотеки. Если у вас нет каких-либо .so файлов в вашем APK, то вы 64-бит совместимы
  • включите 64-бит архитектуры и пересоберите нативный код (.so файлы) импортированный из вашего собственного кода. Для большей информации см. документацию
  • обновите все SDK и библиотеки до 64-бит совместимых версий, если необходимо. Обратитесь к владельцу SDK или библиотеки если такие версии недоступны. Мы работаем с владельцами ведущих библиотек над их 64-бит совместимостью
  • проверьте на наличие локальных проблем после пересборки вашего приложения
  • разверните ваши тесты используя tasting track для тщательного тестирования

РАЗРАБОТЧИКАМ ИГР: все три наиболее используемых движка в настоящее время поддерживают 64-бит (Unreal и Cocos2d с 2015 года, Unity с 2018). Мы понимаем что миграция стороннего игрового движка это затратный процесс требующий много времени

  • т.к. Unity только недавно начала предоставлять 64-бит поддержку в версиях 2017.4 и 2018.2, мы делаем исключение существующим играм использующим версию 5.6 или более раннюю до августа 2021 года. Unity подготовила руководство которое может помочь вам в обновлении для 64-бит совместимости

ВЛАДЕЛЬЦАМ SDK И БИБЛИОТЕК: обновитесь для 64-бит совместимости по возможности скорее чтобы дать разработчикам приложений время на адаптацию, и дайте знать об этом разработчикам. Зарегистрируйте ваш SDK для получения обновлений последних инструментов и информации которая может помочь обслуживать ваших пользователей

Читайте также:  All android root zip

Источник

Что значит отказ от поддержки 32-битной архитектуры в будущих процессорах ARM

Константин Иванов

Во время выступления на конференции Arm DevSummit Пол Вильямсон, вице-президент и глава клиентского подразделения ARM, заявил, что новые процессоры Arm Cortex-A, то есть те самые, что служат основой платформы для чипсета вашего смартфона, к 2022 году будут поддерживать только 64-битную архитектуру. Это означает, что на аппаратном уровне поддержки 32-битных приложений в будущем не будет, а следовательно, это небольшой, но весьма значимый шаг для будущего смартфонов и ОС Android.

Если вы волновались насчет поддержки приложений, то напрасно. Компания Google с августа 2019 года требует, чтобы все приложения в магазине Google Play были 64-битными. Со стороны ARM также подчеркивают, что около 60% приложений уже совместимы с 64-битной архитектурой. Большая часть тех, что 64-бита не поддерживают, находятся за пределами западных экосистем, созданных Apple и Google. Так что большинство приложений или уже 64-битные, или у их создателей есть еще масса времени для обеспечения такой поддержки. Худший вариант – это старые приложения, у которых уже нет поддержки. Они просто перестанут работать.

А разве Android еще не 64-битный?

Технически ОС Android уже 64-битная. Поддержка 64-битных приложений была внедрена еще в 2014 году с обновлением до версии 5.0 Lollipop, но ОС Android и ядра ARM сохраняют поддержку 32-битных приложений. Так что называть ОС Android полностью 64-битной системой будет неверно. Это наследство в виде поддержки старой архитектуры просуществует до 2022 года с точки зрения аппаратной части, так что нет предпосылок к тому, чтобы из Android его исключили заранее. Так что для пользователей переход должен быть бесшовным.

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

В большинстве случаев переход к 64-битной архитектуре будет заурядным событием. Смартфоны и приложения находятся в переходном периоде уже несколько лет. Так что и с точки зрения аппаратной и программной части переход давно пора завершить. В конце концов, в Apple еще в 2017 году уже сделали iOS 11 полностью 64-битной.

Что известно о 64-битных процессорах ARM

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

Кодовые названия ядер Arm для 2021 и 2022 года – Matterhorn и Makalu. И вот у второго уже не будет поддержки 32 бит. Компания Arm обещает 30% прирост в производительности между ядрами 2020 года Cortex-A78 и Makalu, так что не заметить улучшение будет сложно. Переход к полностью 64-битной архитектуре начнется с больших ядер Cortex-A. При этом сам переход не будет непременно сопровождаться новой архитектурой самого ядра, такой как ArmV9. Другими словами, скорее всего, мы увидим дизайн кластера ядер, в котором будут присутствовать как полностью 64-битные Makalu, так и меньшие ядра с поддержкой 32/64-бит, такие как Cortex-A55. Хотя финальный продукт с точки зрения пользователя и разработчика будет исключительно 64-битным.

Так что до того, как появятся чипсеты, работающие исключительно с 64-битами, нам придется подождать, чтобы появились малые ядра в полностью 64-битном исполнении. Это оставляет пространство для менее производительных устройств, которые используют только меньшие ядра. Они смогут обеспечивать поддержку 32-битной архитектуры несколько дольше. И есть даже предпосылки к тому, что обновление данного типа ядер произойдет до этого момента. Это будет более новая модель в сравнении с Cortex-A55, но у нее все еще будет поддержка и 32, и 64-бит, так что тут переход будет еще более плавным.

Читайте также:  Аудиоплеер для андроид с поддержкой всех форматов без рекламы

Переход полностью на 64-бита – это важный шаг для ОС Android и компании Arm. Его значение – в упрощении в сравнении с современным состоянием, когда требуется поддержка наследия 32-битной эры. Однако не нужно воспринимать его как фундаментальное изменение экосистемы или радикальное обновление пользовательского опыта, поскольку вся сложность перехода ложится исключительно на плечи разработчиков. А простые пользователи устройств, скорее всего, вообще ничего не заметят.

Источник

Как узнать, работает ли устройство на 32-битном или 64-битном Android

Наступает время в жизни каждого пользователя Android, когда нужно ответить на важный вопрос: мое устройство работает под управлением 32- или 64-разрядной операционной системы? Это может быть трудное, тревожное время, если Вы не знаете, как ответить на этот вопрос. Мы поможем Вам понять, что делать, если возникнет такой вопрос.

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

Итак, первое, что Вам нужно сделать, это загрузить и установить AnTuTu Benchmark. Мы не будем запускать какие-либо тесты, просто используйте его, чтобы получить информацию о процессоре.

После того, как Вы установите его, откройте его и затем нажмите вкладку «Инфа» внизу.

Найдите в этом списке строку с надписью «Android» — это должна быть третья запись. Справа от него будет показана версия Android, а также разрядность ОС.

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

Источник

Является ли Android 32-битной или 64-битной ОС?

Название довольно очевидно: Android — это 32- или 64-битная ОС? Я предполагаю, что это один или другой, а не оба, так как это приведет к тому, что 32-битные и 64-битные двоичные файлы будут размещены в Google Play. Я знаю, что это простой вопрос, и что его задавали другие люди, но за всю свою жизнь я не смог найти ответ в Интернете, и, конечно, в SE нет такого ответа.

В области наборов микросхем ARM, что является общим фактором, весь стек Android, из почти идентичного ядра на базе Linux, фактически является 32-битным, кросс-компилируемым из обычно либо 32-битной / 64-битной хост-среды, хост-среды обычно это один из дистрибутивов Linux. Рекомендуемый Google дистрибутив для сборки и кросс-компиляции Android — Ubuntu .

Библиотека времени выполнения Android (мультимедиа, графика, файловая система и многие другие) также 32-битные, но когда мы достигаем уровня dalvikvm, то количество бит становится неактуальным, как и в этот момент, когда приходит apks из Google Play Store исходный байт-код («побочный продукт» сгенерированного Java-кода, скомпилированного в переносимый байт-код), который нацелен на DalvikVM (виртуальную машину), которая, в свою очередь, интерпретирует и переводит байт-код, нацеленный на необработанный набор команд ARM.

Froyo был последним Android, который включил компиляцию в 32-битной среде, в которой он был кросс-компилирован с использованием чипсета ARM.

Gingerbread был первым из «будущих» Android, тогда, около трех лет назад, который ввел требование использовать 64-битную среду, в которой он был построен. Было много способов взломать Gingerbread в 32-битной среде.

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

Итак, подведем итог: то, что вы видите в магазине Play Store, не имеет никакого отношения к тому, используются ли 32-битные или 64-битные версии, и, следовательно, не имеют значения.

Примечание: типичный 16-Гбайт ОЗУ / четырехъядерный / 64-битный дистрибутив Linux, время, необходимое для создания ICS с нуля, занимает максимум 30 минут, если бы это был 32-битный дистрибутив Linux, это заняло бы больше времени, на самом деле это может привести к падению ЦП поскольку просто не хватает вычислительной мощности, чтобы взбивать и запускать кросс-скомпилированный код, что является очень сложным и трудоемким процессом!

Доказательство этого.

Вставьте любой собственный двоичный файл ARM, найденный в, /system/bin или /system/xbin , например, /system/bin/dalvikvm это двоичный файл Dalvik VM, который отвечает за верхние уровни Java и APK.

Читайте также:  Как зайти без пароля андроид

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

dalvikvm: исполняемый 32-разрядный LSB ELF, ARM, версия 1 (SYSV), динамически связанный (использует общие библиотеки), удаленный

Обратите внимание на ссылку на 32-битный ELF, он кросс-компилируется в ARM и является двоичным исполняемым файлом.

Итак, давайте продолжим, давайте проверим собственную разделяемую библиотеку, найденную /system/lib , например, в /system/lib/libandroid_runtime.so выпуске сейчас file libandroid_runtime.so , ожидаемый результат будет следующим:

libandroid_runtime.so: общий 32-разрядный LSB-объект ELF, ARM, версия 1 (SYSV), динамически связан, удален

Опять же, обратите внимание, это 32-битный ELF, кросс-компилированный в ARM и являющийся общей библиотекой.

Ключ к кросс-компиляции хоста можно найти в источнике AOSP, т.е. Gingerbread сборки изначально было требование , чтобы быть построена на хост — системе 64 — битной, вот группа новостей Linky со ссылкой на как пропатчить сценарии , чтобы заставить его строить на 32-битный хост с двумя исправлениями, найденными здесь, build/core.mk и build/main.mk ( вместе ) в обзоре Gerrit AOSP.

В результате этот патч попал в сценарии сборки ICS, в которых у меня была привилегия компилировать ICS на 32-битной платформе, сборка которой заняла 3 дня ( это был порт ICS для Zte Blade ). Теперь эти требования увеличили, вы же обязательно нужен 64биную хост , чтобы включить кросс-компиляцию построения AOSP от ICS вверх 🙂

Первоначально Android был написан только для 32-разрядных процессоров: в частности, для 32-разрядных процессоров ARM. Позже Intel и MIPS вложили немало средств в поддержку Android своих архитектур: но все же только 32-разрядных процессоров. Они смогли сделать это без (многих) проблем с совместимостью, потому что большинство приложений не поставляются в виде двоичных файлов. Написанные на Java, они вместо этого поставляются в виде байт-кода , который виртуальная машина на телефоне компилирует в архитектуру телефона при запуске приложения. Некоторые приложения включают в себя роднойкомпоненты, которые поставляются в виде двоичного файла. Это делается для того, чтобы ускорить работу некоторых типов приложений (в частности, игр) или позволить приложению получать доступ к библиотекам C, которые недоступны в Java. Эти приложения могут включать в себя несколько двоичных файлов для частей собственного кода, что позволяет им работать на разных архитектурах. Несмотря на это, большинство приложений предназначены только для Java, поэтому они просто работают на любой архитектуре.

Выше было все верно в то время, когда этот вопрос (и большинство других ответов) был написан, но больше не. Lollipop представил поддержку новых 64-битных процессоров ARM ( ARMv8), а также для процессоров Intel и AMD x86_64, что означает, что Android теперь поддерживает как 32-разрядные, так и 64-разрядные процессоры. Nexus 9 был первым флагманским 64-битным устройством Android. Наряду с предоставлением доступа к новым расширениям набора команд, 64-разрядная поддержка означает, что приложения могут использовать более 4 ГБ ОЗУ. Большинству приложений не понадобится так много, но оно, безусловно, может использовать высококачественные игры и программное обеспечение для создания фото / видео: продвижение Android в качестве платформы для игр консольного качества (включая игры VR) и для создания контента. Приложения Java не нуждаются в обновлении, чтобы воспользоваться этим преимуществом, потому что виртуальная машина всегда компилирует их в архитектуру телефона, но приложения с собственным кодом это сделают.

Поскольку ARMv8 обратно совместим с 32-разрядным кодом (точно так же, как x86_64 может по-прежнему выполнять код x86), даже приложения, которые включают собственный код для 32-разрядных процессоров, все еще могут работать на 64-разрядном Android. Таким образом, приложение должно быть скомпилировано для 64-битной среды только в том случае, если оно содержит собственный код и хочет использовать более высокий предел ОЗУ или новые функции архитектуры.

Источник

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