2018 Навіщо використовувати armeabi - v7a код знову armeabi код android

Androids .help Русский Android-спільнота.

У моєму поточному проекті я використовую кілька .so файлів. Вони знаходяться в папці armeabi і armeabi - v7a. На жаль один з .so файлов6 МБ, і мені потрібно, щоб зменшити розмір файлу. Замість того, щоб файл жир APK, я хотів би використовувати тільки armeabi файли і видаліть папку armeabi - v7a.

Відповідно до документації NDK, armeabi - v7a код поширюється armeabi код, який може містити додаткові команди процесора. Все це виходить за рамки моєї компетенції, але я питання, чому хотілося б мати і armeabi - v7a і armeabi код. Там повинні битьвеская причина, щоб мати як правильно?

На моїх тестових пристроїв все це схоже на роботу відмінно. Вони мають ARM v7 процесора. Наскільки це безпечно припустити, що все працює зараз?

Top 5 Respuesta

Залежить від того, що ваш рідний код робить, але v7a має підтримку операцій з плаваючою комою апаратних засобів, що робить величезну різницю. armeabi буде прекрасно працювати на всіх пристроях, але будетнамного повільніше, і не буде скористатися можливостями процесора нових пристроїв. Чи прийняти деякі орієнтири для конкретного застосування, але видалення armeabi - v7a виконавчі файли, як правило, не дуже гарна ідея. Якщо вам потрібно зменшити розмір, ви можете мати два окремих apks для літніх (armeabi) і нові (armeabi - v7a) пристроїв.

EABI = Embedded Application Binary Interface. Це такі характеристики, до которимдолжни відповідати виконуваний для виконання в певному середовищі виконання. Він також визначає різні аспекти складання та зв'язку, необхідних для забезпечення взаємодії між компілюють інструменти, використовувані для архітектури ARM. У цьому контексті, коли ми говоримо про armeabi ми говоримо про ARM архітектурою і GNU / Linux. Android наступним прямий порядок байтів ARM GNU / Linux ABI.

armeabi додаток буде працювати на ARMv5 (наприклад, ARM9) і ARMv6 (наприклад, ARM11). Ви можете використовувати з плаваючою комою обладнання, якщо ви будуєте додаток, використовуючи відповідні опції GCC, як -mfpu = VFPv3 -mfloat -Абі = softfp який розповідає компілятор генерувати інструкції з плаваючою точкою для VFP апаратних і дозволяє софт поплавок угоди про виклики. armeabi не підтримує жорсткі зверненні угоди про виклики (це означає, регістри FP не використовується для зберігання аргументів для функції), але операції FP в HW -колишньому підтримується.

armeabi - v7a додаток буде працювати на Cortex A # пристроїв, таких як Cortex A8, A9, і A15. Він підтримує багатоядерні процесори і підтримує -mfloat -Абі = важко. Так що, якщо ви будуєте додаток, використовуючи -mfloat -Абі = важко, багато хто з ваших дзвінків функція буде швидше.

останні питання

Схожі статті