HLFX.Ru Forum Страницы (5): « 1 2 3 4 [5]
Показать все 74 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- [iOS, Android] Нубские вопросы от XaeroX (https://hlfx.ru/forum/showthread.php?threadid=5064)


Отправлено XaeroX 28-04-2019 в 19:07:

a1batross
Ок, спрошу иначе.
Эмулятор создаётся такой командой:

Цитата:
avdmanager create avd -n EmulatorDevice -k "system-images;android-16;default;armeabi-v7a" -c 50M -f

Как её модифицировать, чтобы он умел выполнять aarch64-бинарники?

__________________

xaerox on Vivino


Отправлено Дядя Миша 28-04-2019 в 19:20:

ДА НЕ КАК!

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено a1batross 29-04-2019 в 10:50:

XaeroX Дядя Миша прав.

Если ты её изначально не создал под aarch64, то и не поменяешь ничего. В эмуляторе пускается полноценная ОС в виртуальной машине.

Пересоздай под aarch64, это дело нескольких минут.


Отправлено XaeroX 29-04-2019 в 11:14:

a1batross
Ничего не понял. Что именно пересоздать?
Я и спрашиваю, какую надо написать команду - ну вероятно, тут речь об аргументе "-k", чтобы эмулятор умел в 64 бита? И вероятно, надо скачать через sdkmanager платформу? Как она будет называться?

__________________

xaerox on Vivino


Отправлено a1batross 29-04-2019 в 11:22:

XaeroX а, я тебя не понял. Мне показалось, ты хочешь модифицировать образ эмулятора.

А в команде достаточно написать arm64-v8a вроде. По крайней мере именно так значится имя архитектуры "по андродному". Ну и учти, что соответствующий образ с SDK нужно скачать.

__________________
Xash3D FWGS форк


Отправлено EXL 29-04-2019 в 11:33:

Цитата:
XaeroX писал:
Ещё один вопрос: можно ли создать эмулятор, который может выполнять одновременно и armv8, и armv7a код?


Да, конечно. У ARM-процессоров имеется совместимость "вниз", то есть arm64-v8a CPU умеет исполнять код для armeabi-v7a CPU и даже (надо проверить) armv6.

Цитата:
XaeroX писал:
Как её модифицировать, чтобы он умел выполнять aarch64-бинарники?


code:
avdmanager create avd -n "ARM64_Emulator" -k "system-images;android-24;default;arm64-v8a" -c 100M -f


Предварительно нужно скачать через AVD Manager системный образ для Android 7.0 (24) и ARM64 V8A.


Отправлено XaeroX 29-04-2019 в 12:00:

Цитата:
a1batross писал:
А в команде достаточно написать arm64-v8a вроде.

Ага, только апи левел нужен уже 24-й.
Есть только пакеты "system-images;android-24;default;arm64-v8a" и выше.

__________________

xaerox on Vivino


Отправлено a1batross 29-04-2019 в 12:19:

XaeroX запускать на андроиде новее, чем под то что собирал уж точно можно безболезненно. Собирай под 21, запускай хоть на 28.

Хотел бы я сказать, да вот одна корпорация "добра" наверняка вставит какие-нибудь палки в колёса рано или поздно.

__________________
Xash3D FWGS форк


Отправлено XaeroX 29-04-2019 в 12:19:

А что такое вот это?

Цитата:
WARNING: linker: Warning: unable to normalize ""

Вылезает при запуске бинарника. Но вроде ничего не ломается.

__________________

xaerox on Vivino


Отправлено a1batross 29-04-2019 в 12:31:

XaeroX
Похоже, что часть резолвинга путей от линкера.
https://android.googlesource.com/pl...r_utils.cpp#224

Я думаю, если ты пускаешь тест бинарём, то всё нормально. Если внутри приложения... да тоже можно забить. Ну не отрезолвило путь из \0, и ладно.

Мне регулярно про какие-то неиспользованные секции в ELF пишет, но никто от этого ещё не пострадал.

__________________
Xash3D FWGS форк


Отправлено XaeroX 29-04-2019 в 12:35:

a1batross
Этот варнинг портит мне красивый выхлоп тестов. Мой внутренний перфекционист негодует.

__________________

xaerox on Vivino


Отправлено EXL 29-04-2019 в 14:39:

Цитата:
EXL писал:
и даже (надо проверить) armv6.


Итак, проверил, получилось такое:



Плюсом отмечена возможность запуска. Действительно, 64-битный процессор ARM-архитектуры ARMv8-A может запускать код от древнейшего ARMv6.

Отдельный плевок в Google за то, что из последних NDK они напрочь вырезали ARMv6, а до этого выкинули MIPS и MIPS64.

Цитата:
XaeroX писал:
Есть только пакеты "system-images;android-24;default;arm64-v8a" и выше.

Ну Android-16 (Android 4.1.2) никто для ARMv8-A не портировал. Во времена Jelly Bean наверное эта архитектура только-только разрабатывалась. А вот то, что образы для Android-21 (Android 5.0) они не подготовили, вот это странно. Ведь именно с этого Android'а появилась поддержка 64-битных ARM'ов. Да и последние образы идут только для x86 и x86_64 архитектур, видимо из-за того, что эмуляция armeabi-v7a и arm64-v8a уж очень тормозная и медленная.


Отправлено XaeroX 29-04-2019 в 14:52:

Цитата:
EXL писал:
А вот то, что образы для Android-21 (Android 5.0) они не подготовили, вот это странно. Ведь именно с этого Android'а появилась поддержка 64-битных ARM'ов.

Да, в этом-то и дело.
Цитата:
EXL писал:
видимо из-за того, что эмуляция armeabi-v7a и arm64-v8a уж очень тормозная и медленная.

Для юнит-тестов - пойдёт.

Добавлено 29-04-2019 в 21:52:

Цитата:
XaeroX писал:
WARNING: linker: Warning: unable to normalize ""

От варнинга удалось избавиться.
Оказывается, он вылезает, когда LD_LIBRARY_PATH содержит "пустой" путь, например, имеет вид "/path/to/libs:" вместо "/path/to/libs". Старые андроиды это игнорировали, а на новых - варнинг.

__________________

xaerox on Vivino


Отправлено a1batross 29-04-2019 в 15:14:

XaeroX не беспокойся, по ссылке на сорцы линкера, этот недостаток поправили почти 3 три года назад.

__________________
Xash3D FWGS форк


Временная зона GMT. Текущее время 16:14. Страницы (5): « 1 2 3 4 [5]
Показать все 74 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024