Нужен ли android studio для unity

Содержание
  1. Настройка Android SDK
  2. 1. Скачать Android SDK
  3. 2. Установить Android SDK
  4. 3. Удостовериться, что система определяет ваше устройство
  5. 4. Добавить путь до Android SDK в Unity
  6. Начало разработки под Android
  7. Подготовка среды разработки для Android
  8. Доступ к функциям Android
  9. Привязка C, C++ или Java кода к скриптам
  10. Occlusion Culling (отсечение невидимой геометрии)
  11. Настройка начальной заставки
  12. Решение проблем и сообщения об ошибках
  13. Как Unity для Android отличается от версии для настольных компьютеров
  14. JavaScript со строгой типизацией
  15. ETC — рекомендуемый способ сжатия текстур
  16. Проигрывание видео.
  17. Профилируем Unity проект с Android Studio
  18. Требования
  19. Настройка Unity проекта
  20. Настройки в Build Settings
  21. Настройки в Player Settings
  22. Подготовка Gradle проекта
  23. libil2cpp.so
  24. libunity.so
  25. Профилирование
  26. Известные особенности
  27. Unity специфика
  28. Краткое руководство. Создание приложения Android в Unity с помощью Пространственных привязок Azure
  29. Предварительные требования
  30. Создание ресурса Пространственных привязок
  31. Скачивание и открытие примера проекта Unity
  32. Настройка сведений об учетной записи
  33. Экспорт проекта Android Studio
  34. Устранение неполадок
  35. Проблемы отрисовки
  36. Очистка ресурсов
  37. Дальнейшие действия

Настройка Android SDK

Прежде чем вы сможете запустить написанный код на Android-устройстве, нужно выполнить несколько простых действий. Это относится как к работе с Unity, так и к созданию приложений с нуля.

1. Скачать Android SDK

Зайдите на страницу Android Developer SDK. Скачайте архив с последней версией Android SDK и распакуйте его.

2. Установить Android SDK

Следуйте инструкциям на странице Installing the SDK (причём, вы можете свободно пропустить опциональные части, относящиеся к Eclipse). В шаге 4 руководства Installing the SDK убедитесь, что добавили как минимум одну Android platform (Android платформу) с уровнем API равным или выше 9 (платформа 2.3 или выше), Platform Tools и USB drivers (USB драйверы), если вы используете Windows.

3. Удостовериться, что система определяет ваше устройство

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

Для Windows: если Andoid устройство автоматически определяется системой, вам все равно придётся обновить драйверы на те, который поставляются с Android SDK. Это делается через диспетчер устройств Windows. —>Если устройство не определяется автоматически, используйте драйверы из Android SDK или особые драйверы, предоставленные производителем. —>Дополнительную информацию можно найти здесь: USB Drivers for Windows

Для Mac: если вы разрабатываете на OSX, тогда обычно не требуется никаких дополнительных драйверов.

Важно: Не забудьте включить “Отладку по USB” на вашем устройстве. Перейдите в Настройки -> Параметры разработчика , для включения отладки по USB. Начиная с Android Jelly Bean 4.2, параметры разработчика по умолчанию скрыты. Для их включения, понажимайте несколько раз пальцем на строку в меню Настройки -> Об устройстве -> Номер сборки . После этого вам станет доступен пункт Настройки -> Параметры разработчика .

Если вы не уверены, что ваше устройство корректно установилось в системе, пожалуйста, прочтите страницу Решение проблем при разработке под Android для дополнительной информации.

4. Добавить путь до Android SDK в Unity

При первой сборке проекта под Android (или если Unity не сможет обнаружить SDK), вас попросят указать местоположение папки, в которую вы установили Android SDK (вы должны выделить корневую папку установленного SDK). Путь до Android SDK также можно изменить в редакторе, выбрав в меню Unity > Preferences и перейдя в раздел External Tools окна настроек.

Источник

Начало разработки под Android

Разработка игр для устройств с Android OS требует подхода, схожего с разработкой под iOS. С другой стороны, аппаратное обеспечение Android-устройств не подчиняется чётким стандартам, что заставляет решать вопросы, которые отсутствуют при работе с iOS. Также присутствуют различия между версиями Unity для Android и iOS.

Подготовка среды разработки для Android

Прежде чем вы сможете протестировать свои игры на устройстве, вам нужно будет подготовить среду разработки. В частности — скачать и установить Android SDK нужной платформы и добавить ваше устройство в систему (этот процесс отличается для Windows и Mac). Об этом подробно написано на сайте Android-разработчиков, а также дополнительную информацию может предоставлять производитель вашего устройства. Так как это достаточно сложный процесс, мы приготовили небольшую инструкцию которая поможет вам подготовить всё необходимое для разработки. Если вам понадобится больше информации, вы сможете получить её на портале Android-разработчиков.

Доступ к функциям Android

Unity предоставляет API для доступа к средствам ввода и настройкам Android. Доступные классы задокументированы на странице Написание кода для Android сборок.

Привязка C, C++ или Java кода к скриптам

Unity позволяет вызывать функции, написанные на C/C++, непосредственно из скриптов (Java-функции могут быть вызваны непрямым способом). Чтобы узнать как из Unity получать доступ к функциям из нативного кода, посетите страницу о сборке плагинов для Android.

Occlusion Culling (отсечение невидимой геометрии)

Unity предоставляет поддержку occlusion culling, что очень полезно при оптимизации для мобильных платформ. Больше информации можно найти на странице Occlusion culling.

Настройка начальной заставки

Заставка, отображаемая при запуске игры, может быть настроена — см. эту страницу для дополнительной информации.

Решение проблем и сообщения об ошибках

Существует множество причин, из-за которых ваше приложение вылетает или не работает должным образом. Наше руководство по решению специфических для Android проблем поможет вам разобраться с причинами ошибок в кратчайшие сроки. Если после прочтения руководства вы предполагаете, что проблема именно в Unity — вам следует составить сообщение об ошибке. Обратитесь к этой странице за инструкциями.

Читайте также:  Unlock your all android devices

Как Unity для Android отличается от версии для настольных компьютеров

JavaScript со строгой типизацией

Для улучшения производительности в Android-версии Unity динамическая типизация в JavaScript всегда отключена (как если бы к каждому скрипту автоматически применялась #pragma strict). Это важно помнить, если вы переносите на Android проект со старших платформ, и если вы столкнётесь с ошибками компиляции — проблему стоит искать в первую очередь в типизации. С такими ошибками обычно легко справиться, убедившись что типы всех переменных явно указаны или приведёны при инициализации.

ETC — рекомендуемый способ сжатия текстур

Хоть Unity Android и поддерживает DXT/PVRTC/ATC текстуры, Unity распакует текстуры в формат RGB(A) при выполнении, если эти методы сжатия на поддерживаются на конкретном устройстве. Это может серьёзно повлиять на производительность GPU отрисовки, потому рекомендуется использовать формат ETC. Он является фактическим стандартом для Android, и должен поддерживаться всеми современными устройствами. С другой стороны, ETC не поддерживает альфа-канал, и иногда 16-битные RGBA текстуры будут лучшим выбором по критериям качества, размера и скорости рендеринга там, где нужен альфа-канал.

Также возможно создать несколько дистрибутивов игры (apk-файлов) с разными форматами текстур, чтобы Android Market сам предоставлял для каждого устройства наиболее подходящий из дистрибутивов. За подробностями обратитесь к этой странице.

Проигрывание видео.

Видео текстуры (MovieTexture) не поддерживаются на Android, но программно доступно полноэкранное поточное проигрывание. Для дополнительной информации о поддерживаемых форматах файлов и API скриптинга, ознакомьтесь со страницой класса MovieTexture или со страницей поддерживаемых на Android форматах медиа.

Источник

Профилируем Unity проект с Android Studio

Требования

Для полноценного профилирования приложения вам потребуется телефон с Android 8 или новее (API 27). По опыту, профилирование с Android-ами более старых версий несёт больше приключений, чем пользы. По этой причине я рекомендую обзавестись полной линейкой Nexus устройств, так как они имеют старое железо и последние обновления Android-а.

Настройка Unity проекта

Для получения результата, вам придётся настроить Unity проект определённым образом.

Настройки в Build Settings

  • В первую очередь, вы должны переключить Build System в “Gradle” и поставить галочку напротив “Export Project”. Таким образом мы получим готовый Android Studio проект, который мы и будем в дальнейшем профилировать. Профилирование готового APK тоже возможна, но более ограничена и требует больше подготовки
  • Режим “Development Build” желательно выключить, так как таким образом получаемые тайминги в профайлере будут максимально близки к реальным

Настройки в Player Settings

  • Установите Scripting Backend в IL2CPP. Если оставить Mono, то при нативном профилировании мы увидим много функций Mono, без информации как они соотносятся с C# кодом.
  • Опция ‘C++ Compiler Configuration’ для Android ни на что не влияет (в Unity 2018.3). Можете поставить её в ‘Release’, возможно в будущих версиях Unity Android toolchain эта настройка будет влиять на настройки компилятора.
  • Желательно ограничить ‘Target Architecture’ до ARMv7. Так вы сэкономите на времени компиляции и по опыту множество архитектур иногда вводит Android Studio в ступор.
  • Также стоит установить ряд дополнительных настроек:
    • Install Location — ‘Prefer external’
    • Internet Access — ‘Require’
    • Write Permission — ‘External (SDCard)’

    Android Studio и другие профайлеры используют simpleperf для сбора статистики, и ему потребуется доступ к карте памяти для записи временных файлов.

Подготовка Gradle проекта

После того, как вы установили все настройки, соберите Unity проект. Вы должны получить папку с Gradle проектом.

Unity по умолчанию собирает проект из расчёта, что вы планируете собирать из него финальный APK. Потому вся отладочная информацию из него удалена, но к счастью её можно вернуть. Для этого вам нужно подменить libil2cpp.so и libunity.so на версии с отладочной информацией.

libil2cpp.so

libunity.so

Это файл, который содержит low-level часть Unity Player. Так как мы делаем Release сборку, то Unity положила вам в проект файл без отладочной информации. Вам нужно подменить libunity.so на файл с символами.

  • Пойдите в папку, где у вас установлена Unity
  • Перейдите в папку «\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Development\Libs\armeabi-v7a\»
  • Возьмите от туда файл libunity.so, и замените файл в вашем проекте, который лежит в папке ‘\src\main\jniLibs\armeabi-v7a’

Профилирование

Теперь вы можете начать профилировать в Android Studio, достаточно нажать кнопку запуска профайлера.

Android Studio запустит приложение и начнётся сессия профилирования

По умолчанию, Android Studio показывается графики, но не производит сэмплирование данных. Для запуска процесса, вам нужно кликнуть на треке CPU, чтобы профайлер переключится на вид CPU. При этом сверху окна появится дропдаун и кнопка ‘Record’.

Выберите Sampled ‘Native’ (В Android Studio 3.3 — C/C++ Native), и нажмите кнопку ‘Record’.
Так как запись производится на диск устройства, по опыту лучше не записывать более 5-8 секунд, многие устройства будут фейлится и на меньшем кол-ве данных (список проверенных устройств смотрите в конце статьи).

Для получения результата нажмите ‘Stop’ и потом красный квадрат, чтобы прервать сессию. Сложно понять задумку авторов, но если вы не остановите запись полностью, то профайлер не всегда начинает анализ полученных данных и ваш отрезок с данным уедет в далёкие дали.

После этого остаётся только немного подождать, через 30-50 секунд профайлер выдаст вам результат. Если всё настроено верно, вы получите capture со всем именами функций

Известные особенности

Unity специфика

  • Главный поток Unity называется UnityMain, но вы можете увидеть множество UnityMain при профилировании. Это пользовательские потоки, которые вы создаете внутри C# кода. По умолчанию они получают такое же имя. Главный поток Unity обычно легко отличить, так как он будет самый нагруженный.
  • Графический поток называется UnityGfxWorkerW
  • Потоки Unity Job системы называются Worker Thread
  • К сожалению некоторые wait-функции, которые применяет Unity (futex-ы), Android Studio показывает и считает не как wait-time, а как активность.
  • Когда вы будете смотреть call graph в Top Down view, вам придётся пройти через множество уровней Java-вызовом, к сожалению отфильтровать в Android Studio это никак нельзя.

Источник

Краткое руководство. Создание приложения Android в Unity с помощью Пространственных привязок Azure

В этом кратком руководстве показано, как создать приложения Android в Unity с помощью Пространственных привязок Azure. «Пространственные привязки Azure» — это кроссплатформенная служба разработчика, которая позволяет создавать среды смешанной реальности с применением объектов, не меняющих своего расположения на устройствах с течением времени. После завершения вы получите приложение Android ARCore, разработанное с использованием Unity, которое может сохранять и отзывать пространственные привязки.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начать работу.

Предварительные требования

В рамках этого краткого руководства вам потребуются:

  • Устройство Android с включенным режимом разработчика и поддержкой ARCore.
    • Для взаимодействия компьютера с устройством Android могут потребоваться дополнительные драйверы устройств. Дополнительные сведения и инструкции см. здесь.
  • Компьютер с Windows или macOS.
    • Если вы используете Windows, также потребуется Git для Windows и Git LFS.
    • Если вы используете macOS, установите Git с помощью Homebrew. Введите в одну строку терминала такую команду: /usr/bin/ruby -e «$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)» . Затем выполните brew install git и brew install git-lfs .
  • Установка Unity, включая Android Build Support с модулями Android SDK & NDK Tools и OpenJDK. Поддерживаемые версии и требуемые возможности см. на странице настройки проекта Unity.

Создание ресурса Пространственных привязок

В области слева выберите Создать ресурс.

Выполните поиск по запросу Пространственные привязки с помощью поля поиска.

Выберите Пространственные привязки, а затем щелкните Создать.

В области Учетная запись Пространственных привязок выполните следующие действия.

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

Выберите подписку, к которой нужно присоединить ресурс.

Создайте группу ресурсов, нажав Создать. Назовите ее myResourceGroup и нажмите ОК.

Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure (например, веб-приложений, баз данных и учетных записей хранения) и управление ими. Например, в дальнейшем можно удалить всю группу ресурсов при помощи одного простого действия.

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

Выберите Создать, чтобы начать создание ресурса.

После создания ресурса на портале Azure отобразится оповещение о завершении развертывания.

Выберите Перейти к ресурсу. Теперь можно просмотреть свойства ресурса.

Скопируйте значение идентификатора учетной записи ресурса в текстовый редактор для дальнейшего использования.

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

В разделе Параметры выберите элемент Ключ доступа. Скопируйте значение первичного ключа (ключа учетной записи) в текстовый редактор для дальнейшего использования.

Чтобы подготовить среду для Azure CLI, выполните указанные ниже действия.

Используйте среду Bash в Azure Cloud Shell.

При необходимости установите Azure CLI, чтобы выполнять справочные команды CLI.

Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о дополнительных возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

Если появится запрос, установите расширения Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

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

Выполните команду az group create, чтобы создать группу ресурсов, или примените существующую группу ресурсов:

Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure (например, веб-приложений, баз данных и учетных записей хранения) и управление ими. Например, в дальнейшем можно удалить всю группу ресурсов при помощи одного простого действия.

Вы можете просмотреть текущие учетные записи пространственных привязок для группы ресурсов с помощью команды az spatial-anchors-account list:

Вы также можете просмотреть учетные записи пространственных привязок для своей подписки:

Выполните команду az spatial-anchors-account create, чтобы создать учетную запись пространственных привязок:

Просмотрите свойства ресурса с помощью команды az spatial-anchors-account show:

Скопируйте значение идентификатора учетной записи для ресурса и значение домена учетной записи для ресурса в текстовый редактор (они понадобятся позже).

Выполните команду az spatial-anchors-account key show, чтобы получить первичный и вторичный ключи:

Скопируйте значения ключей в текстовый редактор (они понадобятся позже).

Если необходимо повторно создать ключи, выполните команду az spatial-anchors-account key renew:

Вы можете удалить учетную запись с помощью команды az spatial-anchors-account delete:

Сначала подготовьте среду для Azure PowerShell:

  • Если вы используете Azure PowerShell локально:
    • Установите модуль Az PowerShell.
    • Подключитесь к учетной записи Azure с помощью командлета Connect-AzAccount.
  • Если вы используете Azure Cloud Shell:
    • Дополнительные сведения см. в статье Общие сведения об Azure Cloud Shell.

Так как модуль Az.MixedReality в PowerShell предоставляется в предварительной версии, его нужно установить отдельно с помощью командлета Install-Module . Как только этот модуль PowerShell станет общедоступным, он будет включен в один из будущих выпусков модуля Az PowerShell и по умолчанию встроен в Azure Cloud Shell.

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

Выполните командлет New-AzResourceGroup, чтобы создать группу ресурсов, или воспользуйтесь существующей группой ресурсов:

Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure (например, веб-приложений, баз данных и учетных записей хранения) и управление ими. Например, в дальнейшем можно удалить всю группу ресурсов при помощи одного простого действия.

Вы можете просмотреть текущие учетные записи пространственных привязок для группы ресурсов с помощью командлета Get-AzSpatialAnchorsAccount:

Вы также можете просмотреть учетные записи пространственных привязок для своей подписки:

Запустите командлет New-AzSpatialAnchorsAccount, чтобы создать собственную учетную запись пространственных привязок:

Просмотрите свойства ресурса с помощью командлета Get-AzSpatialAnchorsAccount:

Скопируйте значение accountId свойства и значение accountDomain свойства в текстовый редактор (они понадобятся позже).

Выполните командлет Get-AzSpatialAnchorsAccountKey, чтобы получить первичный и вторичный ключи.

Скопируйте значения ключей в текстовый редактор (они понадобятся позже).

Если необходимо повторно создать ключи, используйте командлет New-AzSpatialAnchorsAccountKey:

Удалить учетную запись можно с помощью командлета Remove-AzSpatialAnchorsAccount:

Скачивание и открытие примера проекта Unity

Клонируйте репозиторий примеров, выполнив следующие команды:

Следуйте приведенным здесь инструкциям, чтобы скачать и импортировать пакеты SDK для ASA, необходимые для платформы Android.

В Unity откройте проект в папке Unity. Unity может уведомить вас о разнице между версией в проекте и версией, установленной на компьютере. Это предупреждение допустимо, если версия Unity Editor новее, чем та, с помощью которой создан проект. В таком случае выберите Continue (Продолжить). Если ваша версия старше, чем требуется проекту, щелкните Quit (Выйти) и обновите Unity Editor.

Откройте Build Settings (Параметры сборки), выбрав пункты File > Build Settings (Файл > Параметры сборки).

В разделе Platform (Платформа) выберите Android и нажмите Switch Platform (Сменить платформу), чтобы перейти на платформу Android. Если отсутствуют какие-то дополнительные компоненты Android, Unity может запросить их установку.

Закройте окно Build Settings (Параметры сборки).

Настройка сведений об учетной записи

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

В области проект перейдите к Assets\AzureSpatialAnchors.SDK\Resources .

Выберите SpatialAnchorConfig. В области Инспектор введите Account Key в качестве значения ключа учетной записи Пространственных привязок, Account ID в качестве значения идентификатора учетной записи Пространственных привязок и Account Domain в качестве значения домена учетной записи Пространственных привязок.

Экспорт проекта Android Studio

Откройте Build Settings (Параметры сборки), выбрав пункты File > Build Settings (Файл > Параметры сборки).

В разделе Scenes In Build (Сцены в сборке) убедитесь, что возле всех сцен установлен флажок.

В окне Run Device (Запуск устройства) выберите свое устройство и щелкните Build And Run (Сборка и запуск). Вам будет предложено сохранить файл .apk , для которого можно выбрать любое имя.

Используя стрелки, в приложении выберите BasicDemo и нажмите кнопку Go! , чтобы запустить демонстрацию. Следуйте инструкциям для размещения и отзыва привязки.

Следуйте инструкциям в программе для размещения и отзыва привязки.

Устранение неполадок

Проблемы отрисовки

Если во время запуска приложения вы не видите камеру как фон (к примеру, вы видите вместо этого пустой, синий фон или фон с другой текстурой), то вам нужно повторно импортировать файлы в Unity. Остановите приложение. В верхнем меню в Unity выберите Assets -> Reimport all (Ресурсы -> Повторно импортировать все). Затем снова запустите приложение.

Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если вы считаете, что в будущем эти ресурсы вам не понадобятся, их можно удалить, удалив группу ресурсов.

В меню или на странице Главная портала Azure выберите Группы ресурсов. Затем на странице Группы ресурсов выберите myResourceGroup.

На странице myResourceGroup убедитесь, что перечислены те ресурсы, которые нужно удалить.

Выберите Удалить группу ресурсов, введите myResourceGroup в текстовое поле для подтверждения и щелкните Удалить.

Дальнейшие действия

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

Источник

Читайте также:  Как обнулить android meizu до заводских настроек
Оцените статью