- Как узнать архитектуру процессора на телефоне Android
- Основные архитектуры процессоров: ARM, ARM64, x86
- Как узнать тип процессора
- С помощью Droid Hardware Info
- С помощью Terminal Emulator
- Какую версию приложения качать ARM или X86? Какой dpi?
- 2) Как узнать какое ядро на вашем устройстве ARM или X86
- Какого разрешения качать приложения по DPI
- Определение типа архитектуры процессора Android-устройств
- Определение архитектуры процессора устройства
- Русские Блоги
- Android arm64-v8a, armeabi-v7a, armeabi, x86 подробное объяснение
- перед началом
- Введение в архитектуру
- Для 64-битных телефонов и 64-битных процессоров
- Конфигурация упаковки
Как узнать архитектуру процессора на телефоне Android
При покупке смартфона или планшета большинство пользователей редко внимательно рассматривают «внутренности» будущего приобретения. Этим нередко пользуются недобросовестные продавцы, а также некоторые китайские производители, пишущие на коробке одно, но устанавливающие совершенно иное железо. Также некоторые смартфоны могут выпускаться в модификациях с различными процессорами, что также способно внести путаницу. Из-за этого пользователь может столкнуться с ситуацией, когда нужная программа не устанавливается из-за несовместимости, а на выбор предлагается несколько apk-файлов. Чтобы выбрать из них правильный, понадобится знать архитектуру процессора в своем гаджете.
Основные архитектуры процессоров: ARM, ARM64, x86
На текущий момент наиболее распространены три типа ЦП:
- х86 — мощные процессоры с высоким тепловыделением и потреблением энергии, постепенно уступающие место более современным вариантам;
- ARM — чуть более современный и совершенный тип 32-битных процессоров с меньшим тепловыделением и экономным потреблением заряда, но отличающиеся меньшей производительностью в сравнении с x86;
- ARM64 — самый современный 64-битный вариант.
Главное отличие от архитектуры ARM от х86 — энергопотребление. Там, где x86 требуется 47 Ватт, ARM будет достаточно всего 3. Однако разница в производительности получается соответствующая.
Из-за этого на рынке изначально действовало четкое распределение, поскольку разработчикам требовалось добиться максимальной автономности устройства. Современные модели процессоров во многом начинают сравниваться друг с другом в плане характеристик.
Каждому типу процессора соответствует отдельный тип apk-файла:
- х86 — х86 или x86abi;
- ARM — ARMv7 или armeabi;
- ARM64 — AArch64 или arm64.
Иногда названия могут отличаться. Однако суть останется прежней — apk для процессоров с архитектурой ARM будут иметь приставку arm, тогда как x86 так и будут обходиться без нее. Остается только узнать конкретную модель ЦП устройства.
Как узнать тип процессора
Для этого не понадобится ничего разбирать — достаточно установить одно из описанных ниже расширений, чтобы получить полную информацию обо всем железе, установленном в девайс. Это особенно полезно при покупке смартфонов из Китая, чтобы подтвердить спецификацию.
С помощью Droid Hardware Info
Droid Hardware Info — это компактное приложение для сбора информации о системе. Пользователь может узнать о текущей температуре внутри гаджета и количестве свободной памяти.
Предоставляется подробная информация об аккумуляторе и самом процессоре, начиная от архитектуры ядра и заканчивая тактовой частотой с количеством текущих процессов.
Приложение доступно бесплатно, однако могут отображаться блоки с рекламой.
Для установки потребуется:
После установки значок приложения отобразится на одном из рабочих экранов. Теперь, чтобы узнать тип процессора, понадобится:
- Тапнуть по иконке приложения.
- Дать необходимые разрешения (если требуется).
- Перейти в раздел «Система» или «System», в зависимости от установленной версии.
- Нужная информация находится в трех полях: «Архитектура процессора», «Набор инструкций» и «Архитектура ядра». В английской версии программы эти пункты называются «CPU Architecture», «Instructions Sets» и «Kernel Architecture» соответственно.
Определяем архитектуру процессора с помощью Droid Hardware Info
Например, если в «Набор инструкций» написано ARMv7 или armeabi, то и тип процессора в этом случае — ARM. Или если в «Архитектура ядра» стоит AArch64, то и тип процессора в таком случае ARM64.
С помощью Terminal Emulator
Альтернатива DHI — Terminal Emulator. Эта программа позволяет создать терминал, знакомый каждому, кто пользовался Linux. Команды здесь почти такие же. Чтобы установить Terminal Emulator, понадобится:
Теперь необходимо дождаться завершения инсталляции, после чего можно приступать к делу. Понадобится:
- Запустить приложение.
- Ввести в терминал команду cat /proc/cpuinfo.
- Просмотреть результат в строке «Processor». Там отображается тип процессора. Достаточно провести сравнение, чтобы понять, какие именно apk-файлы он поддерживает.
Определяем тип процессора с помощью Terminal Emulator
Чтобы получить полную информацию о процессоре, необходимо обратить внимание на строку «Hardware». В ней отображается полное наименование установленного процессора. Достаточно скопировать его и вписать в любой поисковик, чтобы получить полную информацию о характеристиках, типе процессора и его особенностях, если таковые имеются. Также рекомендуется посетить сайт производителя — там могут быть дополнительные данные.
QA инженер, руководитель отдела автоматизированного тестирования программного обеспечения. Владение Java, C/C++, JSP, HTML, XML, JavaScript, SQL и Oracle PL/SQL. Журналист и обозреватель сферы IT. Создатель и администратор сайта.
Источник
Какую версию приложения качать ARM или X86? Какой dpi?
ARM, ARM64 и X86 — это архитектуры ядра процессора на смартфоне/планшете. На разных устройствах своя архитектура ядра, и если ссылка на приложение не универсальная, то качать надо под свою архитектуру.
Узнать какая архитектура ядра на вашем телефоне можно следующими способами:
1) Если у вас установлен менеджер Телеграмм — войдите в Меню и Настройки. Пролистайте в самый низ и посмотрите какой процессор на гаджете.
2) Как узнать какое ядро на вашем устройстве ARM или X86
Во вкладке System смотрим пункт Kernel Architecture:
- если armv7 или armv6, то для вашего устройство необходимо скачивать приложения с приставкой arm;
- если armv8 то качать нужно arm64;
- если x86, качать x86;
- если x86-64 или 64, то x86_64.
Какого разрешения качать приложения по DPI
В той же мобильной программе, представленной выше, открываем вкладку Device пункт Screen Density. Если число совпадает с названием APK файла — качаем, если нет, качайте nopdi.
nodpi — подойдет для любого типа Screen Density.
Источник
Определение типа архитектуры процессора Android-устройств
Часто при загрузке Андроид-приложений на сайтах предлагающих такую возможность, у пользователей есть возможность выбора файлов для различных архитектур системы. И тут возникают сложности — какую из загрузок нужно скачивать и устанавливать.
Архитектура процессора — это, простыми словами, схема по которой работают части процессора между собой, а также набор команд с помощью которых они «общаются» с другими частями устройства.
Многие разработчики делают универсальные приложения и игры, которые подходят под любые архитектуры процессоров. Но некоторые из них создают несколько версий программ специально «заточенных» под ту или иную архитектуру. При установке такого продукта из Google Play, сервис автоматически определяет все необходимые параметры установки и загружает на пользовательское устройство необходимые файлы. Пользователю не нужно думать над тем какой файл скачать.
Если же установка (по той или иной причине) из Google Play невозможна или нежелательна, пользователь может скачать файл APK на стороннем сайте. С его помощью можно установить приложение или игру «в ручном режиме». Вот тут-то, если на сайте есть несколько вариантов таких файлов, и появляются муки выбора.
На сегодняшний день, сайты предлагающие файлы для установки приложений и игр могут распространять APK-файлы следующих архитектур: armeabi-v7a, arm64-v8a, x86 и x86_64.
Ниже мы несколько более детально рассмотрим разные типы архитектуры для Android-устройств. Вы можете пропустить этот блок и перейти к следующему, но все-таки мы бы рекомендовали ознакомиться с этой информацией для более ясного понимания.
- armeabi-v7a — файлы работающие на устройствах с архитектурой ARM и 32-разрядным процессором. Самые распространенный тип архитектуры.
- arm64-v8a — файлы работающие на устройствах с архитектурой ARM и 64-разрядным процессором. Сейчас все больше девайсов используют такие процессоры.
- x86 — файлы работающие на устройствах с архитектурой от компании Intel с 32-разрядным процессором. Довольно мощные, но плохо оптимизированные для работы с батареей чипы. В основном используются в планшетах.
- x86_64 — файлы работающие на устройствах с архитектурой от компании Intel с 64-разрядным процессором. Такие процессоры используются в некоторых мощных планшетах. Также файлы этого типа можно запускать на эмуляторах Андроид для ПК.
Файлы начинающиеся на «x86» и «arm» не являются взаимно совместимыми — вы должны использовать версию, предназначенную для конкретной архитектуры устройства.
Также, если ваш девайс имеет 32-разрядный процессор, 64-разрядный файл на нем работать не будет. А вот 64-разрядные процессоры обратно совместимы, поэтому на него можно устанавливать 32-разрядный файл.
Исходя из вышесказанного, можно составить такие правила совместимости:
- На устройства с архитектурой armeabi-v7a можно ставить только файлы armeabi-v7a.
- На устройства с архитектурой arm64-v8a можно ставить файлы armeabi-v7a и arm64-v8a.
- На устройства с архитектурой x86 можно ставить только файлы x86.
- На устройства с архитектурой x86_64 можно ставить файлы x86 и x86_64.
В большинстве случаев телефоны используют архитектуру ARM. Более дешевые устройства используют версию armeabi-v7a, более мощные — версию arm64-v8a. Поэтому, если сомневаетесь в том, какую версию файла выбрать, выбирайте ту, которая имеет отметку «armeabi-v7a».
Определение архитектуры процессора устройства
Теперь, когда мы разобрались с теоретической частью, пора определить — на какой архитектуре разработан ваш телефон или планшет.
Для этого можно воспользоваться инструкцией к устройству (но в ней не всегда можно найти нужную информацию) или же найти данные в интернете. Но лучше всего это сделать с помощью специального приложения.
Самый простой способ!
Если у вас установлено приложение Telegram ( то самое ) вы можете узнать архитектуру процессора буквально за пару кликов. Для этого войдите в меню приложения и нажмите «Настройки». В самом низу открывшегося меню будет черным по белому (или белым по черному, в зависимости от настроек) прописаны нужные нам данные.
Droid Hardware Info
Если вышеописанный способ вас чем-то не устраивает или же вы хотите получить более расширенные данные о системе вашего устройства, воспользуйтесь приложением Droid Hardware Info.
Установите эту утилиту в Google Play или с помощью APK-файла (скачав его на сайте Biblprog). Для получения нужной нам информации запустите Droid Hardware Info, перейдите на вкладку «Система» и обратите свое внимание на раздел «Процессор».
В самой первой строке с названием «Архитектура процессора» вы увидите одно из значений: ARMv7, AArch64 или x86, а в строке «Набор инструкций»: armeabi-v7a, arm64-v8a или x86abi. Этого вам должно хватить для того, чтобы решить какой APK-файл скачивать и устанавливать на свой смартфон или планшет.
Нужные данные можно получить и с помощью других приложений, доступных на Google Play, например Inware или My Device .
Как вам данная инструкция? Все ли понятно? Если у вас появились дополнительные вопросы или же возникли замечания к информации выложенной на данной странице — не стесняйтесь. Напишите в комментариях!
Источник
Русские Блоги
Android arm64-v8a, armeabi-v7a, armeabi, x86 подробное объяснение
Недавно при упаковке с флаттером я столкнулся с ситуацией, когда упаковка не могла быть напечатана. Я долго проверял причину и обнаружил, что это было вызвано отсутствием конфигурации руки. После того, как она была экипирована, она разыгралась. Я воспользовался этой возможностью, чтобы изучить abi с нуля.
перед началом
Прежде чем начать, вам нужно знать lib, libs и т. Д.
1. lib и libs
Ссылки на те, что помещены в lib, включены в библиотеки.
Файлы, помещенные в библиотеки, будут автоматически включены редактором. Так что не ставьте API в библиотеках.
Содержимое библиотеки lib не будет упаковано в APK, содержимое библиотеки li будет упаковано в APK
Два . так библиотека
Библиотека динамических ссылок, скомпилированная из NDK.
Некоторые важные алгоритмы шифрования или базовые протоколы обычно пишутся на языке c, а затем вызываются в java. Это позволяет избежать просмотра исходного кода приложения после декомпиляции.
Три . как хранить так библиотеки
Правильная позиция для размещения файла .so — это два предложения:
• Чтобы уменьшить размер apk, оставьте только две папки armeabi и armeabi-v7a и убедитесь, что число .so в этих двух папках одинаково
• Для стороннего .so, который предоставляет только версию armeabi, сделайте копию в папку armeabi-v7a
Правила хранения так:
Вы должны предоставить .so файлы, оптимизированные для каждого ABI, насколько это возможно, но поддерживаются все или все: вы не должны смешивать их. Вы должны предоставить соответствующий файл .so для каждого каталога ABI.
По вопросам хранения вы можете посмотретьЭта
4. Какова роль armeabi и т. Д. Под libs
хранит библиотеку .so, которая в основном совместима с различными устройствами, а также, как можно сказать, особенно совместима с архитектурой ЦП различных телефонов Android.
Давайте потянем процессор Android
Тип процессора устройства Android (часто называемый «ABI»)
Введение в архитектуру
Ранние системы Android почти только поддерживали архитектуру процессора ARMv5, а затем были разработаны для поддержки семи различных архитектур процессоров: ARMv5, ARMv7 (с 2010 года), x86 (с 2011 года), MIPS (с 2012 года), ARMv8 , MIPS64 и x86_64 (с 2014 года), каждый связан с соответствующим ABI.
Двоичный интерфейс приложения (двоичный интерфейс приложения) определяет, как двоичные файлы (особенно файлы .so) работают на соответствующей системной платформе, от используемого набора инструкций, выравнивания памяти до доступного Библиотека системных функций. В системе Android каждая архитектура процессора соответствует ABI: armeabi, armeabi-v7a, x86, mips, arm64-v8a, mips64, x86_64.
Но последние официальные документы Google удалили mips и armv5, как показано на рисунке:
Анализ каждой версии выглядит следующим образом:
• mips / mips64: редко используется на мобильных телефонах и может игнорироваться (последняя документация Google больше не поддерживается)
• x86 / x86_64: мобильные телефоны с архитектурой x86 будут включать в себя инструмент динамического транскодирования набора инструкций под названием Houdini, предоставляемый Intel для обеспечения совместимости с arm .so, затем рассмотрите x86 1% или менее Доля рынка, две .so, связанные с x86, также незначительны
• armeabi: ARM v5. Это довольно старая версия, в которой отсутствует аппаратная поддержка для вычислений с плавающей запятой, и имеются узкие места в производительности, когда требуются большие объемы вычислений.
• armeabi-v7a: ARM v7
• arm64-v8a: поддержка 64-бит,Текущая основная версияХотя многие блоги в Интернете говорят, что версия v7 является основной версией, я лично протестировал многие мобильные телефоны, все из которых основаны на архитектуре arm64-v8a. Тестовые модели включают Xiaomi 5-Xiaomi 9, Huawei P30, Huawei mate10 и Charm Blue 2. архитектура v8
Запрос командной строки ЦП мобильного телефона:
Нет картины без правды:
Существует только один неизвестный телефон с операционной системой Android 4.3, который использует архитектуру v7.
Для 64-битных телефонов и 64-битных процессоров
ARM64-битный процессор и компьютерный 64-битный процессор — это две совершенно несовместимые концепции: он не является 64-битной нативно совместимой с 32-битными программами, но работает 32 через 32-битную архитектуру, интегрированную в 64-битный процессор. Битовая программа. Проще говоря, он не запускает 32-разрядные программы в 64-разрядной форме, но запускает 32-разрядные программы в 32-разрядной форме.
Поскольку новый 64-разрядный процессор в настоящее время включает в себя две архитектуры, а технология процесса не была улучшена (28 нм), в то же время на мобильных телефонах и планшетах площадь чипа строго ограничена и не может быть чрезмерно увеличена, что приводит к среднему распределению 64-разрядных процессоров ARM. Количество транзисторов в каждой архитектуре резко сократилось, то есть из 32-разрядной архитектуры 64-разрядных процессоров для 32-разрядных процессоров с одинаковыми характеристиками они не только не улучшились, но и производительность снизилась в определенном масштабе. Однако производители процессоров должны объяснить потребителям, как лучше продвигать 64-разрядные системы, поэтому производители должны повысить производительность в других аспектах, чтобы компенсировать потери, вызванные сокращением числа транзисторов ЦП. Например: замените более мощный графический процессор, увеличьте пропускную способность памяти, многоядерный виртуальный одноядерный для повышения производительности одноядерного, совместные поставщики программного обеспечения для работы, чтобы изменить веса работы (повысить оценку GPU, снизить вес процессора) и т. Д. Таким образом, приобретая сильные стороны и избегая недостатков и, наконец, попадающих в руки потребителей, они работают с запущенным программным обеспечением, оно действительно улучшилось, пользователи довольны, карманы производителя также выпирают.
Таким образом, битовый процессор ARM64 более точно называется ARM32 + 64 в строгом смысле слова. По сравнению с битовым процессором ARM32, он имеет место для регресса и возможности для улучшения, но именно из-за регрессии, который стимулировал прогресс ARM Определено, что он внесет смелые и смелые изменения, и это должно быть улучшением. Но действительно ли ARM64 полезен для мобильных телефонов? Я могу только сказать, что это действительно бесполезно в данный момент, но это может произойти в будущем. (Собранный в другом месте) Таким образом, в строгом смысле ARM64-битный процессор более точно называется ARM32 + 64. По сравнению с ARM32-битным процессором он имеет некоторые недостатки и возможности для улучшения, но это из-за Эта регрессия подтолкнула ARM к решимости добиться прогресса, что позволило ему внести радикальные изменения, что, по-видимому, является улучшением. Но действительно ли ARM64 полезен для мобильных телефонов? Я могу только сказать, что это действительно бесполезно в данный момент, но это может произойти в будущем. (Искал в другом месте)
Настоящий 64-разрядный мобильный телефон не просто остается на процессоре. Если его называют 64-разрядным мобильным телефоном только потому, что его процессор 64-разрядный, мы можем без колебаний сказать, что это может быть ложной пропагандой. К счастью, Lenovo Очень умно, когда были выпущены A678t и A805e, они говорили только о телефонах с 64-битным процессором.
«64-разрядный телефон» и «64-разрядный телефон» — это две разные концепции: если процессор содержит 64 архитектурных бита, его можно назвать «64-разрядным процессором» «Мобильный телефон», этот вид мобильного телефона, возможно, не сможет запускать 64-разрядные программы, но используется только для захвата рынка, по сравнению с 32-разрядными мобильными телефонами, преимущество не очевидно.
«64-разрядный мобильный телефон» отличается: он содержит 64-разрядный процессор, 64-разрядную стандартную систему, 64-разрядную виртуальную машину Android и 64-разрядную программу. Это настоящий 64-разрядный мобильный телефон!
Представители Google заявили, что Android уже давно поддерживает 64-разрядные версии, это правда, от Android4.0 до Android4.4, системы Android поддерживают 64-разрядное оборудование, но это Это означает только то, что базовый драйвер поддерживает 64-битные и может работать на 64-битном оборудовании, и ничего более. Однако программное обеспечение, работающее на верхнем уровне, будь то виртуальная машина Dalvik или виртуальная машина ART, является 32-разрядным. Другими словами, до тех пор, пока ваша система мобильной связи работает под управлением Android 4.0-4.4, даже если ваш процессор 64-разрядный, вы можете запускать 32-разрядные программы только на 32-разрядной виртуальной машине, даже если перед вами стоят настоящие 64-разрядные программы, Это не может быть установлено. ,
Однако Google официально объявил об обязательной 64-битной архитектуре в начале этого года.:
Еще в январе этого года (2019 г.) Google выпустил уведомление о том, что с 1 августа этого года перечисленные приложения, помимо предоставления 32-разрядных версий, также должны предоставлять 64-разрядные версия.
Следовательно, больше невозможно принудительно использовать только архитектуру armeabi перед проектом.
Что конкретно означает поддержка 64-битной версии?
Если ваше приложение написано полностью на Java или Kotlin и не содержит никакой встроенной поддержки, то это означает, что приложение уже поддерживает 64-битную версию.
Однако в приложении используется любая встроенная поддержка (например, библиотека), поэтому вам необходимо обеспечить разные версии поддержки этих файлов и разных архитектур ЦП.
Следует отметить, что иногда в нашем собственном коде встроенная поддержка действительно не используется, но в нее включены некоторые сторонние библиотеки, используемые в приложении.
В настоящее время наиболее надежным способом является анализ файла APK, созданного окончательной упаковкой, для определения необходимости обеспечения поддержки 64-разрядной архитектуры.
Конфигурация упаковки
Трещина
Эта команда может быть заключена в соответствии с различными правилами, такими как abi, плотность экрана (например, ldpi, hdpi и т. д.)
Включить включено, а исключить не включено. Каждый элемент, включенный в конфигурацию, будет генерировать пакет apk.
Однако эта конфигурация создаст два пакета, один из которых содержит только библиотеку x86 so, а другой — только библиотеку armabi so. Очевидно, не соответствует потребностям
Фильтр ndk
Эта инструкция может быть настроена для упаковки только той библиотеки, которую вы настраиваете, и она не будет упакована, если она не настроена, что очень гибко.
Эта конфигурация упакует библиотеку so из трех пакетов armeabi, armeabi-v71, arm64-v8a в apk, в отличие от split, которая будет воспроизводить apk для каждого пакета.
Источник