앤디가이 블로그

유니티에서 AndroidManifest 파일을 만들어야 하는 상황이 있다. 유니티에서 AndroidManifest 파일을 만드는 방법 및 권한 추가하는 방법 등에 대해 알아보자.

 

 

AndroidManifest 파일 추출방법

내 프로젝트 상태의 AndroidManifest(안드로이드 매니페스트) 파일을 우선 추출해야 한다.

유니티에서 안드로이드 스위치 상태에서 빌드를 해보자.(빌드 위치는 상관없다)

유니티 빌드
유니티 빌드화면

 

 빌드 후 프로젝트 경로의 Temp/StagingArea/ 경로로 이동 후 AndroidManifest.xml 파일을 찾는다.

안드로이드 매니페스트 파일 위치
안드로이드 매니페스트 파일 위치

 

 

AndroidManifest 파일 수정 적용

추출된 AndroidManifest.xml 파일을 유니티의 Asset/Plugins/Android/ 경로에 넣어준다.

유니티에서 안드로이드 매니페스트 파일 위치
유니티에서 안드로이드 매니페스트 파일 위치

매니페스트 파일을 연 뒤 원하는 권한 및 안드로이드 옵션을 추가해 준다.

내 프로젝트에서 매니페스트 파일 예시는 아래와 같다. 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xxx.xxx" xmlns:tools="http://schemas.android.com/tools" android:installLocation="preferExternal">
  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
  <application android:theme="@style/UnityThemeSelector" android:icon="@mipmap/app_icon" android:label="@string/app_name">
    <activity android:name="com.unity3d.player.UnityPlayerActivity" android:exported="true" android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density" android:hardwareAccelerated="false">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
    </activity>
    <meta-data android:name="unity.build-id" android:value="xxxx-xxxx-xxxx" />
    <meta-data android:name="unity.splash-mode" android:value="1" />
    <meta-data android:name="unity.splash-enable" android:value="True" />
  </application>
  <uses-feature android:glEsVersion="0x00020000" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
  <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
  <uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
</manifest>

추가가 완료되었으면, 저장 후 다시 빌드를 하면 반영이 된다.

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band