что значит armv7 и arm64
Что такое архитектура процессоров и как её определить?
Термин архитектура процессора не имеет устойчивого объяснения. По сути, архитектура включает в себя комбинацию из: микроархитектур, включающих в себя основные части процессора и методы их взаимодействиями между собой; набора команд, начиная от модели исполнения и заканчивая форматами данных и микрокода.
Если рассматривать архитектуру процессоров со стороны аппаратной части ПК, то мы увидим определенный набор характеристик, которому соответствует то или иное семейство процессоров, иными словами, внутренняя их конструкция. Со стороны программистов, архитектура представляет набор определенных команд, их структуру и метод использования.
Одной из самых популярных мобильных архитектур на данный момент является ARM, разработкой которой занимается ARM Limited. Остальные компании попросту лицензируют технологию ARM и на базе данной лицензии выпускают свои процессоры, сюда можно отнести Qualcomm, Nvidia с их чипами Tegra, всем известные Mediatek, чипы от Apple и, конечно же, Samsung с Exynos.
Второй по значимости можно считать архитектуру x86, за разработку которой отвечает не менее известная компания Intel. До недавнего времени, данная архитектура использовалась крайне редко и то на бюджетных устройствах, но со временем она начала набирать популярность и теперь занимает свою нишу на рынке мобильных процессоров.
По сути, обычный пользователь не заметит разницы от использования смартфонов/планшетов на разных архитектурах и это не удивительно, Android адаптируется под любые среды и отлично работает на всех архитектурах. Единственным минусом является несовместимость отдельно взятых приложений/игр, заточенных под те или иные архитектуры.
Для этих целей можно использовать бесплатные приложения доступные в Google Play. Наиболее простой и известной в использовании программой является Droid Hardware Info.
ARMv7 — что это на Андроид?
Приветствую. Неважно какое устройство перед нами — смартфон или ПК, у всех них присутствует общие составляющие: процессор, оперативка, постоянная память (как жесткий диск у компьютера). Как у декстопных процессоров, так и у мобильных присутствует своя архитектура.
ARMv7 — что это такое?
Архитектура процессоров в портативных устройствах, например смартфоны, плееры, умные часы и даже роутеры. v7 это просто версия.
Например в телефоне Xperia Ray стоит проц SnapDragon с данной архитектурой, это же относится и к планшету Prestigio PMP558OC.
В данной версии, по сравнению с предыдущей — выше частота, поддержка нескольких физических ядер.
Данный тип процессоров мало кушает энергии и при этом обеспечивает хорошую производительность.
ARM используется во многих смартфонах. А в 2007 году около 98% из более чем миллиарда телефонов, которые продавались, были оснащены по крайней мере одним процессором ARM.
ARMv7 была создана компанией ARM Limited. А другие компании, например NVIDIA, LG, Samsung — покупают лицензию у ARM Limited на выпуск процессоров с такой архитектурой.
То есть ARMv7 — это не модель процессора, это именно его архитектура.
Стоит понимать, что приложения, которые выпущены под ARMv7 — не будут работать на устройствах, где стоит ARMv6. А вот наоборот — работать могут, но вот качество работы может быть разное.
Первым процессорным ядром семейства ARMv7 было именно Cortex-A8, которое использовалось в процах Apple A4 (iPhone 4 и iPad) и Samsung Hummingbird (Samsung Galaxy S и Galaxy Tab).
Флагманские чипы ARMv7 могут иметь частоту свыше 2 ГГц и 8 ядер, что очень неплохо для смартфона.
Все процессоры ARMv7 поддерживают набор инструкций Thumb-2, благодаря которым современные приложения могут работать быстрее.
Как узнать архитектуру процессора на Android?
Теперь о том, как узнать — что у вас вообще? ARMv7 или предыдущая версия? Итак, смотрите — это можно узнать например при помощи утилиты CPU-Z, она показывает много инфы, в том числе и архитектуру (Architecture):
Выше на картинке видим 4x ARM Cortex-A7 @ 1,21 GHz — означает что это проц 4 ядра с частотой 1.21 ГГц, а вот чтобы узнать подробнее про архитектуру, то гуглим инфу по ARM Cortex-A7 и узнаем что это ARMv7:
Тоже самое можно узнать и при помощи проги AnTuTu Benchmark:
Как узнать архитектуру процессора вашего телефона Android
Если вы любите загружать приложения на свой телефон Android, возможно, вы столкнулись с тем, что некоторые приложения имеют разные сборки, что приводит к путанице в отношении того, какую сборку загружать и устанавливать на вашем телефоне. Эта путаница возникает из-за большого числа производителей процессоров для рынка Android. У нас есть Qualcomm, MediaTek, Samsung, Huawei и некоторые другие мелкие производители, которые разрабатывают чипсеты для рынка Android. Даже у одного и того же производителя есть разные категории чипсетов, чтобы удовлетворить потребности разных людей.
Разработчики приложений разрабатывают разные версии одного и того же приложения, чтобы они бесперебойно работали на разных устройствах с разными аппаратными конфигурациями. По этой причине разработчики из Google LLC разработали 22 варианта приложения YouTube. Таких примеров много. Если вы опытный пользователь Android, вы должны знать следующее:
Достаточно сказать, теперь следуйте этим шагам, чтобы узнать о процессоре вашего телефона.
Вы также можете попробовать следующие приложения, которые выполняют ту же функцию, что и Droid Hardware Info.
Русские Блоги
Android arm64-v8a, armeabi-v7a, armeabi, x86 подробное объяснение
Недавно при упаковке с флаттером я столкнулся с ситуацией, когда упаковка не могла быть напечатана. Я долго проверял причину и обнаружил, что это было вызвано отсутствием конфигурации руки. После того, как она была экипирована, она разыгралась. Я воспользовался этой возможностью, чтобы изучить abi с нуля.
перед началом
Прежде чем начать, вам нужно знать lib, libs и т. Д.
1. lib и libs
Ссылки на те, что помещены в lib, включены в библиотеки.
Файлы, помещенные в библиотеки, будут автоматически включены редактором. Так что не ставьте API в библиотеках.
Содержимое библиотеки lib не будет упаковано в APK, содержимое библиотеки li будет упаковано в APK
Введение в архитектуру
Нет картины без правды:
Существует только один неизвестный телефон с операционной системой Android 4.3, который использует архитектуру v7.
Для 64-битных телефонов и 64-битных процессоров
Поскольку новый 64-разрядный процессор в настоящее время включает в себя две архитектуры, а технология процесса не была улучшена (28 нм), в то же время на мобильных телефонах и планшетах площадь чипа строго ограничена и не может быть чрезмерно увеличена, что приводит к среднему распределению 64-разрядных процессоров ARM. Количество транзисторов в каждой архитектуре резко сократилось, то есть из 32-разрядной архитектуры 64-разрядных процессоров для 32-разрядных процессоров с одинаковыми характеристиками они не только не улучшились, но и производительность снизилась в определенном масштабе. Однако производители процессоров должны объяснить потребителям, как лучше продвигать 64-разрядные системы, поэтому производители должны повысить производительность в других аспектах, чтобы компенсировать потери, вызванные сокращением числа транзисторов ЦП. Например: замените более мощный графический процессор, увеличьте пропускную способность памяти, многоядерный виртуальный одноядерный для повышения производительности одноядерного, совместные поставщики программного обеспечения для работы, чтобы изменить веса работы (повысить оценку GPU, снизить вес процессора) и т. Д. Таким образом, приобретая сильные стороны и избегая недостатков и, наконец, попадающих в руки потребителей, они работают с запущенным программным обеспечением, оно действительно улучшилось, пользователи довольны, карманы производителя также выпирают.
Таким образом, битовый процессор ARM64 более точно называется ARM32 + 64 в строгом смысле слова. По сравнению с битовым процессором ARM32, он имеет место для регресса и возможности для улучшения, но именно из-за регрессии, который стимулировал прогресс ARM Определено, что он внесет смелые и смелые изменения, и это должно быть улучшением. Но действительно ли ARM64 полезен для мобильных телефонов? Я могу только сказать, что это действительно бесполезно в данный момент, но это может произойти в будущем. (Собранный в другом месте) Таким образом, в строгом смысле ARM64-битный процессор более точно называется ARM32 + 64. По сравнению с ARM32-битным процессором он имеет некоторые недостатки и возможности для улучшения, но это из-за Эта регрессия подтолкнула ARM к решимости добиться прогресса, что позволило ему внести радикальные изменения, что, по-видимому, является улучшением. Но действительно ли ARM64 полезен для мобильных телефонов? Я могу только сказать, что это действительно бесполезно в данный момент, но это может произойти в будущем. (Искал в другом месте)
Однако Google официально объявил об обязательной 64-битной архитектуре в начале этого года.:
Еще в январе этого года (2019 г.) Google выпустил уведомление о том, что с 1 августа этого года перечисленные приложения, помимо предоставления 32-разрядных версий, также должны предоставлять 64-разрядные версия.
Следовательно, больше невозможно принудительно использовать только архитектуру armeabi перед проектом.
Что конкретно означает поддержка 64-битной версии?
Если ваше приложение написано полностью на Java или Kotlin и не содержит никакой встроенной поддержки, то это означает, что приложение уже поддерживает 64-битную версию.
Однако в приложении используется любая встроенная поддержка (например, библиотека), поэтому вам необходимо обеспечить разные версии поддержки этих файлов и разных архитектур ЦП.
Следует отметить, что иногда в нашем собственном коде встроенная поддержка действительно не используется, но в нее включены некоторые сторонние библиотеки, используемые в приложении.
В настоящее время наиболее надежным способом является анализ файла APK, созданного окончательной упаковкой, для определения необходимости обеспечения поддержки 64-разрядной архитектуры.
Конфигурация упаковки
Трещина
Эта команда может быть заключена в соответствии с различными правилами, такими как abi, плотность экрана (например, ldpi, hdpi и т. д.)
Включить включено, а исключить не включено. Каждый элемент, включенный в конфигурацию, будет генерировать пакет apk.
Фильтр ndk
Эта инструкция может быть настроена для упаковки только той библиотеки, которую вы настраиваете, и она не будет упакована, если она не настроена, что очень гибко.
Эта конфигурация упакует библиотеку so из трех пакетов armeabi, armeabi-v71, arm64-v8a в apk, в отличие от split, которая будет воспроизводить apk для каждого пакета.
Определение типа архитектуры процессора Android-устройств
Часто при загрузке Андроид-приложений на сайтах предлагающих такую возможность, у пользователей есть возможность выбора файлов для различных архитектур системы. И тут возникают сложности — какую из загрузок нужно скачивать и устанавливать.
Архитектура процессора — это, простыми словами, схема по которой работают части процессора между собой, а также набор команд с помощью которых они «общаются» с другими частями устройства.
Многие разработчики делают универсальные приложения и игры, которые подходят под любые архитектуры процессоров. Но некоторые из них создают несколько версий программ специально «заточенных» под ту или иную архитектуру. При установке такого продукта из Google Play, сервис автоматически определяет все необходимые параметры установки и загружает на пользовательское устройство необходимые файлы. Пользователю не нужно думать над тем какой файл скачать.
Если же установка (по той или иной причине) из Google Play невозможна или нежелательна, пользователь может скачать файл APK на стороннем сайте. С его помощью можно установить приложение или игру «в ручном режиме». Вот тут-то, если на сайте есть несколько вариантов таких файлов, и появляются муки выбора.
На сегодняшний день, сайты предлагающие файлы для установки приложений и игр могут распространять APK-файлы следующих архитектур: armeabi-v7a, arm64-v8a, x86 и x86_64.
Ниже мы несколько более детально рассмотрим разные типы архитектуры для Android-устройств. Вы можете пропустить этот блок и перейти к следующему, но все-таки мы бы рекомендовали ознакомиться с этой информацией для более ясного понимания.
Файлы начинающиеся на «x86» и «arm» не являются взаимно совместимыми — вы должны использовать версию, предназначенную для конкретной архитектуры устройства.
Также, если ваш девайс имеет 32-разрядный процессор, 64-разрядный файл на нем работать не будет. А вот 64-разрядные процессоры обратно совместимы, поэтому на него можно устанавливать 32-разрядный файл.
Исходя из вышесказанного, можно составить такие правила совместимости:
В большинстве случаев телефоны используют архитектуру ARM. Более дешевые устройства используют версию armeabi-v7a, более мощные — версию arm64-v8a. Поэтому, если сомневаетесь в том, какую версию файла выбрать, выбирайте ту, которая имеет отметку «armeabi-v7a».
Определение архитектуры процессора устройства
Теперь, когда мы разобрались с теоретической частью, пора определить — на какой архитектуре разработан ваш телефон или планшет.
Для этого можно воспользоваться инструкцией к устройству (но в ней не всегда можно найти нужную информацию) или же найти данные в интернете. Но лучше всего это сделать с помощью специального приложения.
Самый простой способ!
Droid Hardware Info
Если вышеописанный способ вас чем-то не устраивает или же вы хотите получить более расширенные данные о системе вашего устройства, воспользуйтесь приложением Droid Hardware Info.
Установите эту утилиту в Google Play или с помощью APK-файла (скачав его на сайте Biblprog). Для получения нужной нам информации запустите Droid Hardware Info, перейдите на вкладку «Система» и обратите свое внимание на раздел «Процессор».
Как вам данная инструкция? Все ли понятно? Если у вас появились дополнительные вопросы или же возникли замечания к информации выложенной на данной странице — не стесняйтесь. Напишите в комментариях!