btimofeev / metaparser-android

Packages your parser game into an Android app.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Описание проекта

Данный проект представляет собой шаблон Android-приложения, включающего в себя минимальную версию интерпретатора текстовых квестов INSTEAD, и позволяющего запаковать вашу парсерную игру в APK-файл для запуска на телефоне.

"Парсерная игра" означает, что ваша игра должна быть написана с использованием модуля МЕТАПАРСЕР3.

Ваша игра будет выглядеть примерно так:

Как упаковать свою игру в APK-файл

Для начала вам необходимо клонировать репозиторий, либо скачать последний релиз со страницы Releases и распаковать куда-нибудь.

Примечание: в дальнейшем все пути к директориям я буду указывать относительно корневой директории этого проекта.

Скопируйте игру

Вам необходимо положить файлы вашей игры в директорию app/src/main/assets/game/ (предварительно создав её). Так же не забудьте удалить из своей игры файл morphs.mrd.

Если у вас в игре используется автотема, то её необходимо удалить или объявлять следующим образом (иначе приложение будет падать):

if not instead.tiny then
    require "autotheme"
end

Измените applicationId

В файле app/build.gradle вам необходимо изменить значение переменной applicationId на что-то своё. Обычно это домен вашего сайта "задом наперёд" плюс название приложения, например "com.mysite.mygame". Эта строка будет уникальным идентификатором приложения в телефоне и в Google Play (учтите, что после того как вы выложите приложение в маркет, поменять applicationId будет нельзя).

Измените версию игры

В файле app/build.gradle вам необходимо изменить значение переменных versionCode и versionName.

  • versionCode это целое положительное число, которое используется для определения более новой версии приложения: чем больше число, тем новее версия. С каждым обновлением игры в маркете вы должны увеличивать это значение (не обязательно по порядку). Максимальное значение 2100000000.

  • versionName строка, используемая в качестве номера версии, которая будет показана пользователям. Например "1.3-beta"

Измените название игры

В файле app/src/main/res/values/strings.xml вам нужно изменить значение строки <string name="app_name">metaparser</string>. Вместо metaparser впишите название игры. Оно будет отображаться под иконкой на рабочем столе и в тулбаре игры.

Добавьте иконку для игры

Теперь необходимо добавить иконку для игры. А если точнее, то несколько иконок разных размеров для телефонов с различной плотностью пикселей на экране.

Проще всего их сгенерировать онлайн в Android Assets Studio или внутри Android Studio.

Так же начиная с Android 8 поддерживаются адаптивные иконки, которые могут быть в векторном формате.

Иконки нужно заменить в директориях app/src/main/res/mipmap-* (вместо * имеются ввиду: hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi и anydpi-v26 для адаптивных иконок).

Измените внешний вид приложения

Изменить цветовую гамму приложения можно в файле app/src/main/res/values/colors.xml для светлой темы и в app/src/main/res/values-night/colors.xml для тёмной темы.

Изменить размер шрифта и отступы от краёв можно в файле app/src/main/res/values/dimens.xml для телефона, app/src/main/res/values-w600dp/dimens.xml и app/src/main/res/values-w800dp/dimens.xml для планшетов.

Что бы установить другой шрифт для текста вам необходимо заменить ttf файлы шрифтов в директории app/src/main/res/font/.

Что бы изменить количество слотов для сохранений поменяйте параметр NUMBER_OF_SAVE_STATES в файле app/src/main/kotlin/org/emunix/metaparser/storage/StorageImpl.kt.

Установите Android SDK и NDK

Для сборки приложения вам необходимо скачать Android SDK и Android NDK(для сборки из консоли), либо Android Studio(для любителей GUI).

Если вы выбрали Android Studio, то вам необходимо установить SDK и NDK по инструкции.

Создайте цифровой ключ

Каждый APK файл должен быть подписан вашим цифровым ключом. Создать себе ключ вы можете с помощью программы keytool которая входит в состав OpenJDK.

Что бы создать ключ выполните keytool -genkey -v -keystore keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key0

Теперь в корне нашего проекта переименуйте файл keystore.properties_example в keystore.properties и пропишите в нём путь к вашему ключу и пароли.

После этого система сборки будет автоматически подписывать этим ключом release версию вашей игры.

Важно: не потеряйте свой цифровой ключ и пароли от него, так как в этом случае вы больше не сможете обновлять свою игру в маркете.

Сборка APK

Что бы собрать приложение мы используем систему сборки Gradle. В корне нашего проекта есть файл gradlew, это скрипт который скачивает систему сборки и запускает команды для неё.

Что бы собрать APK вам нужно выполнить две команды:

./gradlew downloadDependencies -- скачивает архивы c исходниками Instead и Lua и распаковывает их в подкаталоги app/src/main/c/

./gradlew build -- собирает debug и release версии приложения. APK файлы вы сможете найти в каталоге app/build/outputs/apk/

Так же можно собирать debug и release версии по отдельности командами ./gradlew assembleDebug и ./gradlew assembleRelease

Что бы установить приложение на телефон можете воспользоваться командой ./gradlew installRelease

Что бы очистить директории сборки и начать с чистого листа есть команда ./gradlew clean

Полный список доступных команд можно посмотреть так ./gradlew list

После этого вы можете распространять release версию своего APK.

Примечание

Перед запуском приложение должно скопировать вашу игру и файлы stead из директории assets в файловую систему телефона. В debug сборке копирование происходит каждый раз при запуске, но в release сборке файлы копируются только при первом запуске и после обновления версии приложения (переменная versionCode в файле app/build.gradle).

About

Packages your parser game into an Android app.

License:MIT License


Languages

Language:Kotlin 87.8%Language:C 7.4%Language:CMake 3.0%Language:Lua 1.7%