Version: 2021.2
언어: 한국어
Unity 리모트
Android에 적용되는 플러그인 빌드 및 사용

애플리케이션 패치

Android용 애플리케이션을 빌드하는 데에는 상당한 시간이 소요될 수 있습니다. 개발 과정 중 더 빠른 반복을 위해 애플리케이션 패키지를 다시 빌드하지 않고 패치할 수 있습니다. 애플리케이션 패키지를 패치하면 Unity는 마지막 패치 이후에 변경한 파일만 처리하여 연결된 Android 기기로 전송합니다.

플랫폼 호환성

플랫폼 애플리케이션 패치
Android 지원됨
Chrome OS 미지원

애플리케이션 패치

애플리케이션을 패치하려면 Unity 에디터를 사용하거나, 자체 빌드 파이프라인을 구현한다면 스크립팅 API를 사용할 수 있습니다.

애플리케이션을 처음 패치하면 Unity가 기기에 패치 애플리케이션 환경을 설정합니다. 이로써 첫 번째 패치 다음부터는 패치에 걸리는 시간이 단축됩니다.

에디터 사용

Unity 에디터에서 애플리케이션 패치하려면 다음 단계를 따르십시오.

  1. 빌드 설정 창(메뉴: File > Build Settings)을 엽니다.
  2. Platform 리스트에서 Android 플랫폼을 선택합니다.
  3. Development Build를 활성화합니다.
  4. Patch를 선택하거나, 빌드를 완료한 후에 패치를 실행할 경우 Patch And Run을 선택합니다.
Android용 빌드 설정 창
Android용 빌드 설정 창

스크립팅 API 사용

자체 빌드 파이프라인을 구현하는 경우 애플리케이션을 패치하기 위해 스크립팅 API를 사용할 수 있습니다. 이렇게 하려면 BuildPipeline.BuildPlayer 메서드에 BuildOptions.BuildScriptsOnlyBuildOptions.PatchPackage 옵션을 전달하십시오.

예제:

BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
buildPlayerOptions.scenes = new[] { "Assets/Scene1.unity"};
buildPlayerOptions.target = BuildTarget.Android;
// Use Patch & Run for all builds for optimal turn-around times.
// (In prior versions, an initial regular Build & Run was necessary.)
buildPlayerOptions.options = BuildOptions.PatchPackage | BuildOptions.AutoRunPlayer | BuildOptions.Development;
BuildPipeline.BuildPlayer(buildPlayerOptions);

애플리케이션 패치 작동 방법

애플리케이션을 패치하면 Unity는 다음을 수행하십시오.

  • 컴파일된 Java 소스를 모두 포함하는 최소 APK를 생성합니다.
  • 마지막 패치 이후 변경된 파일을 가져와서 /storage/emulated/0/Android/data/<PackageName>/pram-shadow-files/에 있는 애플리케이션의 캐시 폴더 내 디렉토리에 저장합니다.
  • Il2cpp를 사용하여 컴파일된 스크립트를 포함한 기본 라이브러리 파일을 애플리케이션의 데이터 디렉토리(/data/data/<PackageName>/pram-shadow-files/lib/)에 저장합니다.

애플리케이션이 시작되면 APK 내부에 마커 파일이 있는지 확인합니다. 마커가 존재하면 애플리케이션은 파일 읽기를 pram-shadow-files 디렉토리로 리디렉트합니다.

Build & Run은 패치 파일을 지우지 않습니다. 대신 APK 파일을 설치합니다. 이렇게 하면 pram-shadow-files 디렉토리로의 리디렉션이 비활성화됩니다. 즉, 후속 패치 빌드는 변경되지 않은 파일을 재사용할 수 있습니다.

패치 파일 지우기

Android 스토리지 설정을 사용하여 애플리케이션의 캐시를 삭제할 수 있습니다. 그러면 애플리케이션 패치 빌드 프로세스에 의해 설치된 패치 파일이 삭제됩니다.

애플리케이션의 캐시 삭제 방법은 Android 기기에 따라 다릅니다. 기기별 삭제 방법을 찾으려면 다음 단계를 따르십시오.

  1. 기기 제조업체로부터 도움받기로 이동합니다.
  2. 기기 제조업체를 찾고 해당 지원 사이트 링크를 따릅니다.
  3. 지원 사이트에서 애플리케이션의 캐시 삭제 방법을 검색합니다.
Unity 리모트
Android에 적용되는 플러그인 빌드 및 사용