Version: 2023.1
언어: 한국어
Android requirements and compatibility
Android 앱 매니페스트

Android용 Gradle

Gradle은 여러 빌드 프로세스를 자동화하고 일반적인 빌드 오류를 방지하는 빌드 시스템입니다. Unity는 모든 Android 빌드에 Gradle을 사용합니다. Unity에서 출력 패키지(.apk, .aab)를 빌드하거나, Unity에서 Gradle 프로젝트를 익스포트한 후 Android Studio와 같은 외부 툴로 빌드할 수 있습니다.

자세한 내용은 다음을 참조하십시오.

버전 호환성

다음 표는 Gradle 버전과 Unity 버전 간의 호환성을 나타냅니다.

Unity 버전 Gradle 버전 Android Gradle Plug-in version
2023.1 7.6 7.3.1
2022.2 7.2 7.1.2
2022.1
2021.3
2021.2
2021.1 starting from 2021.1.16f1
2020.3 starting from 2020.3.15f1
6.1.1 4.0.1
2021.1(2021.1.15f1까지)
2020.1, 2020.2, 2020.3(2020.3.14f1까지)
5.6.4 4.0.1
2019.4 5.1.1 3.4.0

If you want to use a custom Gradle or Android Gradle plugin version, it’s important to know the version compatibility between Gradle and the Android Gradle plug-in. For information on this, refer to Update Gradle.

Gradle project files

Gradle project files configure different aspects of your application, such as which modules to include and how to build them.

The following table lists the Gradle project files that exist for Unity projects and describes the purpose of each one.

Gradle project file 목적
Main Manifest This file contains important metadata about your Android application. For more information about the responsibilities of the Main/Unity Library Manifest, refer to Unity Library Manifest.
Unity Launcher Manifest This file contains important metadata about your Android application’s launcher. For more information about the responsibilities of the Unity Launcher Manifest, refer to Unity Launcher Manifest.
Main Gradle This file contains information on how to build your Android application as a library.
Launcher Gradle This file contains instructions on how to build your Android application.
Base Gradle This file contains configuration that’s shared between all other templates and Gradle projects.
Gradle Properties This file contains configuration settings for the Gradle build environment. This includes:- The JVM (Java Virtual Machine) memory configuration.- A property to allow Gradle to build using multiple JVMs.- A property for choosing the tool to do the minification.- A property to not compress native libs when building an app bundle.
Gradle Settings This file contains declaration of artifact repositories to resolve external dependencies required for your application.
Proguard This file contains configuration settings for the minification process. If minification removes some Java code which should be kept, you should add a rule to keep that code in this file.

Gradle 프로젝트 구조

Unity 프로젝트를 Gradle project로 익스포트하면, 다음의 두 가지 모듈을 포함하는 Gradle 프로젝트를 만듭니다.

  • UnityLibrary 모듈: Unity 런타임 및 프로젝트 데이터가 들어 있습니다. 이 모듈은 다른 Gradle 프로젝트에 통합할 수 있는 라이브러리입니다. 기존 Android 애플리케이션에 Unity를 포함할 때 사용할 수 있습니다.
  • 런처 모듈: 애플리케이션 이름과 모든 아이콘이 들어 있습니다. Unity를 시작하는 간단한 Android 애플리케이션 모듈이며, 자체 애플리케이션으로 대체할 수 있습니다.
File 설명
build.gradle The base Gradle file that affects all modules in the Gradle project. It specifies which plug-in versions to use in this Gradle project. One of these plug-ins is Android Gradle Plug-in.

To influence the contents of this file, provide a custom Base Gradle Template.
gradle.properties A standard Gradle project file that configures how to build the application. Unity also adds the names of assets inside the Streaming Assets directory and specifies that these assets should be in the final application and Gradle shouldn’t compress them.

To influence the contents of this file, provide a custom Gradle Properties Template.

For information on the properties this file can contain, refer to Gradle property files.
런처 런처 모듈 및 이와 관련된 모든 항목이 들어 있는 디렉토리입니다.
  build.gradle 런처 모듈을 빌드하는 방법을 설명하고 빌드에 포함할 종속성 리스트를 포함하는 표준 Gradle 프로젝트 build.gradle 파일입니다. Unity에서 런처 모듈은 unityLibrary 모듈에 기반합니다. 즉, 런처 모듈을 빌드할 때 unityLibrary가 빌드되어 최종 결과에 포함됩니다.이 파일의 콘텐츠에 영향을 주기 위해 커스텀 런처 Gradle 템플릿을 제공합니다.
  src 런처 모듈의 소스 코드와 리소스를 포함하는 표준 Android Gradle 프로젝트 디렉토리입니다. Unity는 소스 코드와 리소스를 main의 하위 디렉토리에 배치합니다.
    main A standard Android Gradle project directory that contains the launcher module’s source code and resources. Unity only supports the main source set. For more information about source sets, refer to Create source sets.
      AndroidManifest.xml A standard Android Gradle project file that Unity merges into the final Android App Manifest. It contains settings specific to the launcher module.

Important: If multiple manifest files specify different values for the same setting, the manifest merging process fails and you must fix it manually. You can specify rules for the manifest merger to automatically decide how to solve merge conflicts. For information on how to do this, refer to Manage manifest files.

For information on how to influence the contents of this file, refer to Modify Gradle project files.
      jniLibs 런처 모듈이 사용하는 네이티브 코드 라이브러리를 포함하는 표준 Android Gradle 프로젝트 디렉토리입니다.
      res 최종 애플리케이션에 포함할 리소스가 들어있는 표준 Android Gradle 프로젝트 디렉토리입니다. 리소스는 애플리케이션 아이콘, 애플리케이션이 런타임에 액세스하는 텍스트, 애플리케이션 스타일 설명입니다.

이 디렉토리의 리소스를 지정하려면 Android 플레이어 설정에서 애플리케이션 아이콘과 프로젝트 이름을 설정합니다.
local.properties A standard Android Gradle project file that configures the environment of the build system. Unity specifies the path to SDK here so that by default, the exported Gradle project uses the same SDK that the Unity Editor used. NDK path used to be specified here with previous Gradle versions as well, but now Unity specifies it in the build.gradle files of launcher and unityLibrary modules.

For information on the properties this file can contain, refer to Gradle property files.
settings.gradle A standard Android Gradle project file that specifies all the modules that make up this Android Gradle project. In projects that Unity exports, this usually only specifies the launcher and unityLibrary modules. However, if the Unity project uses Play Asset Delivery, each asset pack is a separate module, so this file lists them too. The file also specifies locations which contain Gradle project plug-ins. The locations are a combination of online repositories and java plug-ins inside of this project.

To influence the contents of this file, provide a custom Gradle Settings Template.
unityLibrary unityLibrary 모듈 및 이와 관련된 모든 항목이 들어 있는 디렉토리 입니다.
  build.gradle unityLibrary 모듈을 빌드하는 방법을 설명하고 빌드에 포함할 종속성 리스트를 포함하는 표준 Gradle 프로젝트 build.gradle 파일입니다. Unity에서 unityLibrary 모듈은 Unity 프로젝트의 모든 플러그인에 기반합니다.

이 파일의 콘텐츠에 영향을 주기 위해 커스텀 Main Gradle 템플릿을 제공합니다
  libs A common Android Gradle project directory that stores Android Archive (.aar) and Java Archive (.jar) plug-ins for the unityLibrary module.

For exported Unity projects, this contains the unity-classes.jar and all .jar and .aar plug-ins in the Unity project.

Note: This directory doesn’t contain Android Library Projects plug-ins. Instead, Unity copies these into the Gradle project as separate modules.
    unity-classes.jar A Unity-specific java plug-in that contains java code that the Unity engine uses.
  proguard-unity.txt A Unity-specific file that contains ProGuard configurations for Unity java code (code in unity-classes.jar plug-in). Configurations are effective when Minification is enabled in Player settings (or if it’s enabled by manually modifying gradle build files).
  src unityLibrary 모듈의 소스 코드와 리소스를 포함하는 표준 Android Gradle 프로젝트 디렉토리입니다. Unity는 소스 코드와 리소스를 main의 하위 디렉토리에 배치합니다.
    main A standard Android Gradle project directory that contains the unityLibrary module’s source code and resources. Unity only supports the main source set. For more information about source sets, refer to Create source sets.
      AndroidManifest.xml Unity가 최종 Android 앱 매니페스트에 병합하는 표준 Android Gradle 프로젝트 파일입니다. unityLibrary 모듈과 관련된 설정을 포함하고 있습니다.

이 파일의 콘텐츠에 영향을 주기 위해 커스텀 메인 매니페스트를 제공합니다.
      assets 프로젝트 에셋을 포함하는 표준 Android Gradle 디렉토리입니다. Unity는 Unity 프로젝트의 리소스를 bin의 하위 디렉토리에 배치합니다.
        bin A standard Android Gradle project directory that Unity adds all the Unity project’s resources to.
      java A standard Android Gradle project directory that contains uncompiled java source files for the unityLibrary module. Unity only uses this directory to store the UnityPlayerActivity source file. For information on how to extend UnityPlayerActivity, refer to Extending the UnityPlayerActivity Java Code.
      jniLibs A standard Android Gradle project directory that contains native code libraries that the unityLibrary module uses. Unity places the libil2cpp, libmain, and libunity Unity engine libraries in this directory. Unity also places any Native (C++) plug-ins in this directory.
      res 최종 애플리케이션에 포함할 리소스가 들어있는 표준 Android Gradle 프로젝트 디렉토리입니다. 익스포트한 Unity 프로젝트의 경우 unityLibrary 모듈의 res 디렉토리에는 unityLibrary 모듈이 사용하는 스타일 설명만 포함됩니다.
proguard-user.txt This is a Unity project specific file which contains ProGuard configurations for the project’s java code and third-party java plug-ins. Just like ProGuard-unity.txt Gradle uses it if you enable minification.

To create this file, enable Custom Proguard File in the Android Player Settings.
Android requirements and compatibility
Android 앱 매니페스트
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961