Android x32 или x64

Выбираем операционную систему на базе OC Android: Android x86 и Remix OS

Оглавление

Вступление

реклама

На протяжении целого месяца лаборатория сайта Overclockers.ru занималась тестами эмуляторов OC Android. Но что если требуется полноценная операционная система, построенная на основе исходного кода этой системы? Пожалуй, пора рассмотреть пару претендентов.

В списке тестовых систем у нас пока два участника – оригинальный Android-x86 и глубоко кастомизированный Remix OS. Эти операционные системы заметно отличаются друг от друга, а их общие точки соприкосновения – исходный код и поддержка соответствующих приложений.

Взглянем на каждую из систем по отдельности, рассмотрим все детали и отметим «житейские нюансы». А для составления полной картины в самом конце мы скажем пару слов об еще одной развивающейся операционной системе, которая построена на базе Android, но еще не вышла из тестового режима.

В качестве тестового оборудования применялся ноутбук Lenovo Y510p (Intel Core i5-4200M 2500 ГГц, GT 755 SLI с 2 Гбайтами памяти, 4 Гбайта ОЗУ, 1 Тбайт HDD, Full HD, OC Windows 10 64-бита), а также планшеты Acer W701 (Intel Core i5-3337U 1800 ГГц, Intel HD Graphics 4000, 4 Гбайта ОЗУ, 120 Гбайт ПЗУ, Full HD, Windows 8) и Lenovo Miix 2 10 (Intel Atom Z3740 1330 МГц, Intel HD Graphics, 4 Гбайта ОЗУ, 64 Гбайта ПЗУ, Full HD, Windows 8).

Android-x86 (Android 5.1)

Знакомство

Чистая классическая система Android всегда хороша, поскольку не содержит ничего лишнего и обеспечивает достойный уровень производительности. Но это лишь на тех смартфонах и планшетах, которые одобрены Google. А как обстоят дела с операционной системой, созданной на основе оригинального образа?

Android-x86 это пользовательский проект, который никак не относится к компании Google и поддерживается лишь силами самих пользователей.

реклама

Начало работы

Для загрузки образа системы необходимо перейти на официальный сайт Android-x86, который не блещет дизайном и красотой, и выбрать необходимую версию OC. И поскольку проект зародился еще летом 2009 года, то выбор операционных систем широк, начиная от Android 2.2 Froyo и заканчивая более-менее актуальной ревизией Android 5.1 Lollipop. Мы будем тестировать самую свежую версию – OC Android Lollipop.

Загружаем образ, записываем его на USB-накопитель и устанавливаем. К слову, из «житейского опыта» скажу, что накопитель, на который будет установлена система, лучше всего форматировать в ЕХТ4 для Lollipop и ЕХТ3 для прочих версий. В ином случае приложения Google и ПО для обслуживания системы (типа SuperSU) будут выдавать ошибку накопителя.

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

Затем мы оказываемся на главном экране OC Android 5.1.1, который не отличается ничем сверхъестественным от классического образа операционной системы.

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

реклама

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

Читайте также:  Как сделать splash screen android studio

Так как ничего нового в образе системы Android-x86 нет, поговорим об эксплуатационных мелочах. Начнем с главного, а именно: управления. Из-за того, что система полностью оригинальная, а OC Android не предназначена для использования на ПК, возникают соответствующие сложности с управлением. В большинстве современных игр необходимо использовать две-три точки соприкосновения с экраном одновременно, здесь такой возможности нет – большинство компьютеров не оснащается сенсорным экраном. Если он есть, то дисплей будет работать, если же нет, то для этих целей необходимо использовать приложение Tincore Keymapper.

На Android-x86 предусмотрен спящий режим, который автоматически активируется после закрытия крышки ноутбука или чехла планшета (разумеется, с магнитным сенсором или при наличии датчика приближения). Правда, в зависимости от сборки и версии системы работа спящего режима и даже его наличие может меняться. В случае «оригинальной» OC Android 5.1.1 все именно так, как описано выше.

И еще один немаловажный момент. В Android-x86 по умолчанию работают все комбинации функциональных клавиш Fn, а также Print Screen – одно нажатие и скриншот сохранен в системе. Это удобно.

реклама

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

К моему удивлению, Android-x86 прекрасно дружит практически со всеми приложениями и играми. Все, что мы пробовали, без каких-либо проблем запускалось и работало, даже Real Racing 3.

реклама

Игра WOT Blitz что на Lenovo Miix 2, что на Lenovo Y510P работала с предельным количеством кадров – 60 FPS. Лишь иногда число кадров в секунду опускалось до 45-50. Можно даже установить более качественные текстуры, повысить детализацию и включить эффекты – с таким набором мы получим 30-35 FPS.

Приведем сводную таблицу работоспособности приложений.

Приложение Версия FPS Проблемы
Angry Birds 2 2.5.0 >60
Riptide GP 1.6.3 50-60
WOT Blitz 2.7.0 50-60
Need for Speed No Limits 1.2.6 30-45
Clash of Clans 8.116.11 >60

Небольшой нюанс. Если какая-то игра будет вылетать с ошибкой или не запускаться, необходимо перейти по следующему пути: «Настройки» – раздел «Устройство» – «Совместимость приложений» – и установить галочку напротив пункта «Enable native bridge».

реклама

А если в некоторых играх у вас возникнут проблемы с текстурами, от чего никто не застрахован, то необходимо ждать оптимизации системы или игры, либо установить GLTools или Chainfire3D и попробовать настроить игру под конкретное устройство.

Работоспособность

Android-x86 последней сборки базируется на OC Android 5.1.1 и содержит все необходимые пакеты безопасности. Скорость загрузки системы осуществляется в зависимости от конфигурации устройства, в целом до одной минуты даже на самом допотопном устройстве.

реклама

Аппаратное ускорение работает с видеоадаптерами Intel, AMD и Nvidia. Но нужно быть внимательнее и заранее ознакомиться с техническими форумами, поскольку адекватно поддерживаются видеокарты серии GMA, которые базируются на PowerVR, и AMD Radeon до семитысячной серии. С другими «железками» возникают различные проблемы. В таком случае нужно тестировать различные сборки, в том числе и пользовательские, но все это на ваш личный страх и риск.

С Wi-Fi и Bluetooth могут возникать проблемы, особенно если устройство очень старое и лишено программной поддержки. В основном хорошо работают только чипы Broadcom. Проверить поддержку конкретной модели можно в специальной таблице на официальном сайте проекта.

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

Читайте также:  Айклауд ком войти с андроид
Тест Версия
программы
Оценка
AnTuTu Benchmark 6.0.4 110 000
Geekbench 3.4.1 Build 1047 1 300 и 2 200
Quadrant 2.1.1 7 300

Выводы

реклама

Android-x86 – неплохой вариант для тех, кто не понаслышке знает обо всех тонкостях использования системы 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-битной среды только в том случае, если оно содержит собственный код и хочет использовать более высокий предел ОЗУ или новые функции архитектуры.

Источник

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