ВАЖЛИВА ІНФОРМАЦІЯ - У зв'язку з нападом росії на територію України, я припиняю підтримку ціеї програми на російскій мові!
Автор оригінального коду припинив підтримку. Тепер ви перебуваєте на сторінці форка цієї програми. Я не готовий дати 100% гарантію, що програма буде працювати ідеально у вас.
Я не є офіційним членом розробників OpenMW. Якщо у вас виникли проблеми з роботою цього додатка на вашому смартфоні, я щиро прошу, НЕ повідомляли про розробників OpenMW, вони офіційно не підтримують цей порт. Будь ласка, поставтеся з розумінням. Спасибі.
Існує два кроки для створення OpenMW для Android. Першим кроком є створення бібліотек C/C++. Другим кроком є створення програми запуску Java.
Вам знадобляться встановлені стандартні інструменти, які, ймовірно, у вас вже є (bash, gcc, g++, sha256sum, unzip).
CMake 3.6.0 або новіша версія потрібна, ви можете завантажити останню версію тут (і розмістити у своєму PATH
), якщо ваш дистрибутив постачається із застарілою версія.
Крім того, щоб створити програму запуску, вам знадобиться встановлений Android SDK. Рекомендується використовувати Android Studio, яка може налаштувати його для вас (див. крок 2).
Перейдіть до каталогу buildscripts
і запустіть ./build.sh
. Сценарій автоматично завантажить набір інструментів Android і всі залежності, а також скомпілює та встановить їх.
Щоб отримати файл APK, який можна встановити, відкрийте каталог openmw-android
в Android Studio та запустіть проект.
Крім того, якщо у вас не встановлена Android Studio або ви не хочете її використовувати, запустіть ./gradlew assembleDebug
з кореневого каталогу цього репозиторію. Отриманий файл .apk, розташований за адресою ./app/build/outputs/apk/debug/app-debug.apk
, можна перенести на пристрій та встановити.
Ви можете налагодити рідний код за допомогою ndk-gdb
. Щоб використовувати його, після того, як ви створили і бібліотеки, і apk, і встановили apk, запустіть програму і нехай вона залишиться в головному меню. Потім cd
до app/src/main
і запустіть ./gdb.sh [arch]
. Змінна arch
має відповідати бібліотеці, яку використовуватиме ваш пристрій (один із arm
, arm64
, x86_64
, x86
; arm
є за замовчуванням).
Це також автоматично дозволяє gdb використовувати нерозчіслені бібліотеки, тож ви отримуєте правильні символи, посилання на вихідний код тощо.
Щоб зібрати все з ASAN:b267e232cd7a370ea45d096a551fcdab0d55a3e2
# Очистіть попередню збірку
./clean.sh
# Створення з увімкненим ASAN і символами налагодження
./build.sh --ccache --asan --debug
# Або: ./build.sh --ccache --asan --debug --arch arm64
Потім відкрийте Android Studio, скомпілюйте та встановіть проект.
Щоб отримати символізований вихід:
adb logcat | ./tool/asan_symbolize.py --demangle -s ./symbols/armeabi-v7a/
# Або: adb logcat | ./tool/asan_symbolize.py --demangle -s ./symbols/arm64-v8a/
Оригінальний код Java, написаний Sandstranger та xyzz. Білдскипти були написані Sandstranger і bwhaine.