Введение Пару недель назад столкнулся с проблемой, что игра не поддерживает архитектуру моего процессора в телефоне.
Я, конечно, знал, что ARMv7 устареет, но не ожидал, что это произойдет так быстро.
Информации о понижении версии приложения в сети было не так много, поэтому пришлось немного импровизировать, вспоминая времена, когда пропала поддержка ARMv6. Итак, в этой статье мы поговорим о миграции приложений с архитектуры ARMv8 на ARMv7, исходя из моего опыта.
Тема портирования Android-игр с одной архитектуры на другую не очень нова.
Изначально я столкнулся с этим еще в 2015 году, только речь шла о портировании на ARMv6. С тех пор принцип переноса не изменился, и перенести игру с одной архитектуры на другую может любой желающий, если у него есть необходимые библиотеки.
Разбор apk
Так что же такое .apk ? APK-файл представляет собой слегка модифицированный ZIP-архив, содержащий игровые ресурсы и игровой движок.
Это выглядит примерно так:
Папка библиотека — ключевой момент при переносе между архитектурами.
Он содержит библиотеки нашего игрового движка.
* Armeabi — библиотеки Armv6 (не имеет значения)
* Armeabi-v7a — библиотеки Armv7 (если папки нет, то нет поддержки архитектуры)
* Arm64-v8a — библиотеки Armv8 x64.
Передача
Шаг 1
Прежде всего нам нужно выяснить, можно ли портировать игру.Для этого вам необходимо определиться с движком игры.
Например, файл библиотека/libunity.so - принадлежит Unity Engine, и по наличию папки активы/x-renpy Вы можете догадаться, что игра разработана на RenPy Engine. Если у игры нет своего движка, то переходим ко второму шагу.
Шаг 2
Итак, мы определились с игровым движком.Теперь нам нужно найти подходящего донора.
Если эта игра ранее поддерживалась вашим устройством, но после обновления перестала поддерживаться, то вы можете попробовать открыть ресурсы предыдущих версий.
Если этот вариант вас не устраивает, то можете поискать игры на этом же движке.
Иногда разработчики просто не добавляют поддержку Armv7, поэтому есть шанс найти нужные вам компоненты.
Шаг 3
Мы нашли подходящий донор, теперь нам нужно добавить папку lib/armeabi-v7a на наш (имя).
apk. Добавляем и видим следующее:
В самом начале, как я уже говорил, APK-файл представляет собой слегка модифицированный ZIP-архив, а после изменения его содержимого становится обычным ZIP.
Шаг №4
Чтобы ваше устройство могло установить ваш файл (имя).apk, его необходимо «подписать».
Для этого есть несколько разных утилит, например apk-подписчик .
Установите утилиту на свое устройство, откройте ее, перейдите в раздел Подписание, нажмите на карандашик внизу и выберите наш (имя).
apk. После чего программа предложит вам выбрать, куда сохранить «подписанный файл».
Выбираем и ждем.
??? ВЫГОДА!!!
Шаг №5
Будьте добрый человек, выложите свой порт для публичного использования, например, в теме игры на том же 4PDA. ;-)Некоторые библиотеки
Unity 3.* для ARMv6: yadi.sk/d/XGHn309ORuPgeg
РенПи ARMv7: yadi.sk/d/_U-hnz8D-J7D-QТеги: #Разработка игр #Разработка для Android #unity #обратное проектирование #armv7 #ren'py #armv6 #Порт Android
-
Соглашение. Поисковая Оптимизация
19 Oct, 24 -
Трогать Ультрабуки, Есть Ли В Них Смысл?
19 Oct, 24 -
Тестирование Wav Mp3 Ogg
19 Oct, 24 -
На Базе Монго, В Красивом, Модном Докере
19 Oct, 24 -
Практика Проведения Мальчишников
19 Oct, 24 -
Базовый Шаблон Css
19 Oct, 24