Unity: Добавить разрешения для приложения Android

Проект Unity можно собрать для многих платформ, одна из которых Android. В диалогом окне настроек проекта, в разделе Player на данный момент (Unity 2019.3.11f1) можно выставить следующие разрешения:

  • Internet Access
  • Write Permission Internal/External
  • Low Accuracy Location (ACCESS_FINE_LOCATION/ACCESS_COARSE_LOCATION)

Ну вроде и всё (хотя не уверен, т.к. созданием приложений на Android особо не занимался).
Новая система ввода Unity (New Unity Input System) для доступа к датчику «Шагомер» (StepCounter) не требует особых разрешений, но при этом не работает. Разработчики предположили, что нужно добавить вручную необходимые разрешения (ACTIVITY_RECOGNITION). Однако пока это сделать «из коробки» нельзя.
У нас есть возможность переопределить (Override) файл AndroidManifest.xml.
Чтобы изменить конечный файл AndroidManifest.xml, воспользуемся этой возможностью, а для этого нам потребуется целый ряд действий:
1. Открываем папку проекта Unity и переходим в папку Assets
2. Внутри неё создаём папку Plugins
3. Заходим в новую папку и создаём там ещё одну папку с названием Android, получится такая цепочка:
C:\Users\<USER>\Documents\Unity\Stepcounter\Assets\Plugins\Android
4. Ели сейчас попытаться собрать проект, при условии, что там нет ошибок, мы получим временную папку:
C:\Users\<USER>\Documents\Unity\Stepcounter\Temp\gradleOut\unityLibrary\src\main
5. В Проводнике переходим в эту папку и копируем оттуда файл AndroidManifest.xml
6. Вставляем его в папку из п.3:

7. Теперь его нужно открыть на редактирование и добавить в пару строк с новыми правами
К строке:

  <uses-permission android:name="android.permission.INTERNET" />

Добавляем новую, получится так:

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />

После этих манипуляций нужно заново пересобрать проект.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments