Найти тему
Денис Скрягин

Игра на Unity3D (2021.3.11f1) Android [Подготовка для публикации на Google Play]

Оглавление

Привет читатель. Статью пишу как для себя на будущее так и для тех кто хочет выпустить свою игру на Google Play.

Что нам нужно сделать

  1. Установить JDK
  2. Установить NDK
  3. Скачать Gradle
  4. Установка Android Studio понадобится для установки более новых версий SDK.

Приступим


Игра у меня уже имеется, нужно внести в неё нужные библиотеки и SDK для создание файла для загрузки на Google Play.

В первую очередь я добавил рекламу (Яндекс) для вас это не обязательно, или вы можете пользоваться другой сетью.
Пакет для Unity можно скачать c >>
GitHub.
Загружаю его в проект. При импорте, можно сразу убрать галочку с данного файла.

-2

Дальше я запускаю Forse Resolve. Как я понимаю, оно устанавливает связи
зависимости между важными элементами SDK и всего такого.

-3

Но так как я на этом ПК еще не ставил ни каких SDK и программ для билда под андроид, а занимался только WebGL (там всего этого не нужно), я получил ошибку, что было ожидаемо.

-4

Отсутствует JAVA_HOME.. Пойдем настраивать её.

JDK

У меня не установлен даже сам JDK. Я нашел у себя уже скаченный jdk 1.8.0_202 и устанавливаю её. С сайта с JDK, скачиваем нужный вам JDK. Версия может быть любой, но как я помню Unity часто придирается к тому какая именно версия нужна ей, в моём случае нужна 1.8.0

Установив JDK переходим к добавлению поля JAVA_HOME.

В пуске виндовс пишем Среда (возможно не полностью) и выбираем "Изменение системных переменных сред". В открывшемся окне, нажимаем на "Переменные среды"
В пуске виндовс пишем Среда (возможно не полностью) и выбираем "Изменение системных переменных сред". В открывшемся окне, нажимаем на "Переменные среды"

Откроется подобное окно

-6

Под верхнем окошком нажав "Создать" добавляем 2 переменные с путем на ранее установленный JDK

JAVA_HOME со значением C:\Program Files\Java\jdk1.8.0_202
PATH со значение C:\Program Files\Java\jdk1.8.0_202\bin
(Ваш путь может отличаться цифрами означающие версию)

К сожалению это сразу не вылечило проблему. Решаем её дальше если она у вас так же осталась.

В Unity открываем окно настроек Внешних инструментов
Edit->Preferences. После этого слева выбираем External Tools.

-7

Убираем галочку с JDK и пишем туда путь к нашему JDK.
После этого снова запускаем Forse Resolve. (Если ошибка не исчезла, перезапустите проект) Так же первая установка зависимостей может занять много времени, я пока ждал, думал оно вовсе зависло. Поэтому пока не увидите сообщение об ошибке, просто ждите.

После Я приступаю к настройке Player Settings, заполняю поля.
Когда вы укажите своё имя пакета для игры, вам откроется окно Resolve, которое изменит зависимости так, чтобы они соответствовали проекту. Если окно не открылось (у вас отключен режим автоматического запуска этой функции) вам нужно будет это сделать это вручную позже.
-
Scripting Backend обязательно меняем на IL2CPP.
Создаю и заполняю
Keystore.
Обязательно ставлю галочку
Build App Bundle (Google Play) так как сейчас принимаются игры собранные только таким образом (раньше можно было просто apk загрузить и не париться)

-8

При нажатии на Build, юнька ругается что не может найти NDK, хотя поле и заполнено во Внешних инструментах, но перейдя по указанному адресу, в ней нет такой папки. Будем решать и эту проблему.

NDK

На счет версии нам Unity подсказывает какая версия ей нужна.

-9

В моём случае мне нужна 21.3.652....
Скачиваю я их с
офф. сайта.
За время занятием этим хобби, набрались у меня они разные. В наличии у меня так же есть
android-ndk-r21d, буду использовать её.

-10

Указываю эту папку в Unity, и запускаю следующую сборку.

Так как мне сейчас нужна игра на самом телефоне, я буду собирать .apk файл. Настройка страницы в маркете и загрузка игры туда не тема данной статьи.

Опять неудача, с таким результатом.

-11

Теперь требует Gradle.

Gradle

Сайт с полным архивом версий тут. Переходим на него и скачиваем вариант с подписью "all". Моя версия Unity требует версию 6.1.1

-12

Нахожу нужную мне версию в списке, для удобства можно нажать сочетание клавиш Сtrl+F и ввести версию, он быстро найдет нужную вам версию. Скачиваем её. Разархивируем в папку. Желательно в таком месте куда проще добраться и не затеряется среди остальных папок. У меня для всех таких вещей есть отдельная папка в которой хранятся все нужные файлы.

SDK

Установить SDK конкретной версии можно через Android Studio.

При установке снимаем эту галочку.

-13

Запускаем программу. Нам говорят что перед запуском программы нужно установить или выбрать имеющийся на компьютере SDK, для этого переходим на следующий этап.

Откроется окно со списком компонентов.

-14

В нем будет выбран SDK, без него ни куда, а так же последняя версия API, важная вещь. Выбираем место для установки, его тоже выбираем удобным для обращения как и с Gradle (но не в нее же).

Нажимаем далее, подтверждаем список компонентов и переходим к загрузке. Ожидаем его завершения. По завершению у нас не должно быть каких либо ошибок при загрузке, иначе повторяем загрузку заново.

После откроется меню приветствие.

-15

Нажимаем Конфигурации, и в нем SDK Manager.

-16

Тут мы видим список всех API версий имеющихся в доступе. Вы можете выделить и скачать нужную версию себе. (Каждая вам не нужна)
Для начала достаточно версии API 23 или 24, они покрывают 95%+ устройств используемые пользователями.

Нам нужно скопировать путь до папки со всеми SDK и вставить его в Unity.

Так же перед этим нужно сделать маленькие корректировки. Переходим в папку с SDK >> tools и открываем в редакторе файл package.

-17

Находим параметр obsolete = true меняем на false.

На этом подготовка проекта к сборке под Android и будущего импорта на Google Play завершена.

Конец

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

Благодарю за внимание и желаю вам больше громкий проектов.