Андроид (Android)

Материал из Ren'Py Wiki
Перейти к навигации Перейти к поиску

Ren'Py поддерживает устройства с установленной операционной системой Android, например смартфоны и планшеты. Хотя эти устройства не поддерживают 100% возможностей Ren'Py, с минимальными изменениями визуальные новеллы могут быть упакованы и адаптированы на них.

RAPT (Ren'Py Android Packaging Tool) – программа, скачиваемая отдельно от Ren'Py, формирующая пакет приложения операционной системы Android для тестирования или выпуска.

Требуемое упоминание (Required Language)[править | править код]

Некоторые из библиотек, используемые Ren'Py в операционной системе Android, лицензируются на условиях GNU Lesser/Library General Public License. Для распространения Ren'Py вам будет необходимо соблюдать условия этой лицензии. Полагаем, что включение следующего упоминания в описание вашего приложения будет достаточно для этого. Однако для полной уверенности проконсультируйтесь по данному вопросу у юриста вашей страны.

Эта программа содержит свободное программное обеспечение, лицензируемое на условиях различных лицензий, включая GNU Lesser General License. Полный список программного обеспечения доступен на сайте: https://www.renpy.org/l/license/.

Пользовательская инструкция (User Instructions)[править | править код]

Когда игра, созданная на Ren'Py, запущена на устройстве Android, то функционирует следующая привязка физических и сенсорных кнопок:

Home
Возвращает пользователя на домашний экран Android, сворачивая игру. В рамках процесса сворачивания экрана, Ren'Py автоматически сохранит игру. При необходимости, сохранение будет автоматически загружено, когда пользователь вернётся в игру.
Menu
Открывает/скрывает внутриигровое меню.
Back
Откатывает назад последнее действие.
Volume Up, Volume Down
Управляет уровнем громкости на Android.

Различия между платформами (Platform Differences)[править | править код]

Существует немало важных различий между платформой Android для сенсорного экрана и платформами, управляемыми "мышью", которые поддерживает Ren'Py. Изменения, связанные с программным и аппаратным обеспечением операционной системы Android:

  • Команды на сенсорном экране обрабатываются так же, и как команды "мыши". Однако они будут формироваться только в том случае, если пользователь активно касается сенсорного экрана.
  • Воспроизведение видео доступно только в полноэкранном режиме и исключительно с мультимедийными форматами, поддерживаемыми устройствами с операционной системой Android. На этой странице приведён список поддерживаемых форматов видеофайлов.
  • Ren'Py не поддерживает изменение уровня громкости устройства. Тем не менее физические кнопки регулировки уровня громкости на устройстве Android работают в штатном режиме.
  • Ren'Py не может обрабатывать уровень прозрачности кнопок и объектов карт изображений. Это связано с проблемами производительности на некоторых устройствах с режимами отображения, нуждающимся в поддержке определения прозрачных пикселей.


Кроме того, существует несколько отличий, которые могут быть обусловлены человеческим фактором:

  • Так как экраны смартфонов с установленной операционной системой Android могут быть меньше, чем компьютерный монитор, возможно потребуется увеличить размер выводимого на экран текста.
  • Поскольку ввод команд на сенсорном экране менее точен, чем ввод команд с помощью "мыши", кнопки на сенсорном экране должны быть больше, чем на экране компьютерного монитора.


Чтобы помочь вам адаптировать эти различия на устройствах с операционной системой Android, Ren'Py для Android автоматически подбирает варианты экрана в зависимости от размера экрана устройства и его возможностей. Для получения дополнительной информации перейдите в раздел «Варианты экрана».

Тестирование и эмуляция (Testing and Emulation)[править | править код]

В целях тестирования Ren'Py поддерживает три режима эмуляции Android. Доступ к ним осуществляется с экрана Android-лаунчера.

Phone
Этот режим эмулирует окружение телефона с установленной операционной системой Android. Эмуляция касания экрана выполняется с помощью нажатой клавиши "мыши". Кнопка клавиатуры "Escape" соответствует кнопке "Menu" устройства, а кнопка "Page Up" - кнопке "Back".
Tablet
Этот режим эмулирует окружение планшета с установленной операционной системой Android. Эмуляция касания экрана выполняется с помощью нажатой клавиши "мыши". Кнопка клавиатуры "Escape" соответствует кнопке "Menu" устройства, а кнопка "Page Up" - кнопке "Back".
Television / OUYA
Этот режим эмулирует окружение игрового устройства с установленной операционной системой Android, такой как консоль OUYA. Сочетания клавиш клавиатуры соответствуют сочетаниям клавиш джойстика или контроллера ввода для обеспечения навигации. Клавиша "Select" соответствует клавише "Enter", клавиша "Escape" - клавише "Menu", а клавиша "Page Up" - клавише "Back".
В этом режиме также отображается наложение, показывающее небезопасную область экрана. Содержимое в небезопасной области экрана может не отображаться на всех моделях телевизорах.


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

Сборка приложений для Android (Building Android Applications)[править | править код]

Ren'Py содержит инструменты, которые помогут вам собрать пакет приложения, разработанного для Android. Для сборки пакета приложения и загрузки его на своё устройство вы будете использовать персональный компьютер. Затем вы можете запустить игру, как любое приложение для Android. Если всё работает корректно, вы можете загрузить созданный вами пакет в Google Play и другие магазины мобильных приложений.


Создание приложения для Android состоит из четырех этапов:

  1. Скачайте и установите Java Development Kit и Android USB Drivers.
  2. Используйте лаунчер для установки Android SDK и создания ключей.
  3. Используйте лаунчер для настройки процесса сборки пакета приложения для Android.
  4. Используйте лаунчер для сборки приложения для Android.

После того, как вы завершите эти шаги, у вас появится работающий пакет приложения для Android. Вам нужно выполнить третий шаг только тогда, когда вы решите внести изменения в настройки вашей игры, либо если потребуется полностью настроить новую игру. Чаще всего вы будете выполнять четвертый шаг при создании новой сборки вашей игры.


Шаг 1. Установка зависимостей[править | править код]

Перед началом сборки пакетов вам, возможно, потребуется вручную скачать и установить три следующих приложения:

Java Development Kit (JDK).
Содержит несколько инструментов, которые используются RAPT, включая инструменты, используемые для генерации ключей и подписи пакетов. Его можно скачать с здесь.
Вам понадобится версия 8 JDK.
Просьба учесть, что JDK, ориентированный на разработчиков, отличается от JRE, ориентированный на пользователей. Для создания пакетов приложений для Android вам понадобится JDK.
Устройство Android.
Вам также понадобиться настроить устройство для разработки. Необходимо включить режим разработчика на своём устройстве и настроить свой компьютер для разработки под Android. Инструкцию по настройке вашего компьютера можно найти данному адресу.
Вы также можете запустить своё приложение в x86_64 изображении на эмуляторе Android (обратите внимание, что x86 не поддерживается). Настройка эмулятора не входит в данный раздел.


Шаг 2: Настройка Android SDK и среды для разработки под Android[править | править код]

Следующим шагом является настройка Android SDK и остальной среды разработки. Этот шаг включает в себя:

  • Убедитесь, что JDK установлен корректно.
  • Установите Android SDK.
  • Используйте Android SDK для установки соответствующих пакетов для разработки.
  • Создайте ключ подписи, который будет использоваться для подписи пакетов, расположенных в магазинах приложений (android.keystore: будет создан в папке RAPT).

Этот шаг требует доступа в интернет.

Чтобы выполнить этот шаг, выберите «Установить SDK и создать ключи» на экране раздела «Android» в Ren'Py Launcher.

RAPT сообщит о процессе выполнения. Он также отобразит предупреждения о лицензиях и спросит, хотите ли вы, чтобы он сгенерировал ключ.


Предупреждение! Ключ, сгенерированный RAPT, создаётся со стандартной кодовой фразой. Вы действительно должны использовать keytool для генерации ваших собственных ключей подписи.

По крайней мере, вы должны хранить файл android.keystoreв надёжном месте. Вы также должны создать его резервную копию, потому что без ключа вы не сможете загрузить сгенерированные приложения.



Если не хотите загружать SDK каждый раз, то можете создать файл с именем sdk.txt, содержащий одну строку, которая является путём к уже установленному SDK.


Шаг 3: Настройка игры[править | править код]

Перед сборкой пакета игры, необходимо предоставить Ren'Py некоторую информацию о сборке Android для вашей игры. Для этого нажмите «Настроить» на экране раздела «Android» в Ren'Py Launcher.

Если вам нужно изменить информацию - например, если вы выпускаете новую версию своей игры - вы можете перезапустить команду configure. В таком случае ваши предыдущие выбранные пункты настроек будут сохранены.


Шаг 4: Сборка и установка пакета[править | править код]

Наконец, вы можете собрать и установить пакет приложения. Для этого подключите ваше устройство Android к компьютеру и нажмите «Собрать и установить» на экране раздела «Android» в Ren'Py Launcher. При первой установке ваше устройство Android может запросить авторизовать ваш компьютер для установки приложений.

Если вы хотите вручную скопировать apk-файл игры на ваше устройство Android, выберите «Собрать пакет» на экране раздела «Android» в Ren'Py Launcher. Затем перейдите в каталог bin внутри папки RAPT и скопируйте соответствующий файл на ваше устройство Android. Затем вам нужно найти файл с расширением .apk на вашем устройстве Android, используя приложение файлового менеджера, и открыть его для установки игры.

Ren'Py позволяет выбирать между двумя режимами выпуска - «Отладка» и «Релиз». Режим отладки полезен для тестирования, поскольку позволяет легко использовать Android studio для просмотра журналов или файлов на устройстве. Релиз выпускает версию приложения, подходящую для загрузки в различные магазины.

При переключении между сборками «Отладка» и «Релиз» нужно удалить приложение.

Изображение иконки и загрузки игры (Icon and Presplash Images)[править | править код]

Иконки
Ren'Py создаст иконку из вашего приложения из двух файлов, размещённых в базовом каталоге игры:
android-icon_foreground.png
Слой переднего плана иконки. Должен быть 432x432 пикселей и прозрачным.
android-icon_background.png
Фоновый слой иконки. Должен быть 432x432 пикселей и непрозрачным.


Адаптивные значки Android работают, маскируя два слоя значка в область, которая составляет не менее 132x132 пикселей в центре. Область за пределами этого безопасного пространства может быть показана, но она также может быть замаскирована. Выход за край безопасной зоны приветствуется. Два слоя могут немного смещаться относительно друг друга, когда значок перетаскивается.
Для получения дополнительной информации об адаптивных значках, пожалуйста, ознакомьтесь с https://medium.com/google-design/designing-adaptive-icons-515af294c783.
Обратите внимание, что 1dp соответствует 4 фактическим пикселям.
При создании приложения Ren'Py преобразует эти файлы в соответствующий размер для каждого устройства и создаёт статические значки для устройств, которые не поддерживают адаптивные значки.


Предварительная заставка
Предварительная заставка отображается перед полной загрузкой Ren'Py, перед запуском основного заставки. Это особенно важно для Android, поскольку при первом запуске Ren'Py распаковывает вспомогательные файлы, что занимает некоторое время.
android-presplash.jpg
Изображение, которое используется при загрузке приложения. Должно быть окружено одноцветной границей. Эта граница расширяется, чтобы заполнить экран.

APK-архивы приложений из Google Play (Google Play Expansion APKs)[править | править код]

Ren'Py дополнительно поддерживает использование архивов приложений с расширением .apk при использовании на устройстве с поддержкой Google Play. Архивы приложений с расширением .apk позволяют Google Play размещать игры размером более 50 МБ. Для дополнительной информации перейдите по ссылке http://developer.android.com/google/play/expansion-files.html.

Информация о работе архивов приложений с расширением .apk. На данный момент поддерживается только основное расширение APK, что даёт ограничение в 2 ГБ. При создании Expansion APK все файлы игры будут помещены в расширение APK. Ren'Py будет использовать эти файлы без перекодировки.


Чтобы настроить вашу игру на использование расширенных APK, вам нужно установить две переменные:

build.google_play_key = "..."
Лицензионный ключ Google Play, связанный с вашим приложением, который можно найти на вкладке «Сервисы и API», связанной с вашим приложением в консоли разработчика Google Play. Обязательно удалите все пробелы и новые строки из ключа.
build.google_play_salt = ( ... )
Представляет собой кортеж из 20 байтов информации, где каждый байт представлен как целое число от -128 до 127. Эта переменная используется для шифрования информации о лицензии, возвращенной из Google Play.
Допустимое (если незащищённое) значение для этой переменной:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)


RAPT разместит файл с расширением APK на устройстве при установке пакета APK на устройство. Расширение APK будет файлом с расширением .obb, найденным в подкаталоге bin каталога RAPT.

При нормальной работе Google Play автоматически размещает расширение APK на устройстве, когда пользователь устанавливает приложение.

Источник[править | править код]

Статья "Android" на английском языке.


На главную страницу Официальная документация движка Вернуться к началу статьи