기술 자료

​
​

Development

User Acquisition

Monetization

산업 분야

LevelPlay SDK - Unity

Unity SDK

Android SDK

iOS SDK

Adobe AIR SDK

Flutter SDK

React Native SDK

LevelPlay SDK - Unity

Unity LevelPlay
​
​
Unity SDK
  • 시작하기
  • 규정 및 설정
  • 광고 형식
  • Mediation 네트워크
  • 연동 테스트
    • 연동 테스트 제품군
    • Unity 통합 도우미
    • 통합 테스트
    • 표시되는 광고 없음 문제 해결
    • TCF 동의 로그 문제 해결
    • Ad Quality SDK 연동 테스트
    • Unity 에디터 미리보기 모형 광고
    • 레벨플레이 연동 관련 문제 해결
    • Kotlin 2로 인한 Android 빌드 오류 문제 해결
  1. 게임 성장
  2. Unity 레벨플레이
  3. LevelPlay SDK
  4. Unity 개발자를 위한 레벨플레이 SDK

Kotlin 2로 인한 Android 빌드 오류 문제 해결

Unity 2022 LTS 이하로 빌드 경우 레벨플레이 9.6.0에 도입된 Kotlin 2 종속성으로 인해 발생하는 Android 빌드 오류를 식별 수정합니다.
읽는 시간 3분
최근 업데이트: 9시간 전

레벨플레이 SDK 9.6.0과 함께 Unity 2022 LTS 이하를 사용하는 경우 Android 빌드 오류가 발생할 수 있습니다. 이 가이드에서는 이를 식별 결정 방법을 설명합니다.
참고
이 빌드 오류 문제는 Unity 2022 LTS 이하에만 영향을 줍니다. Unity 6 이상은 최신 빌드 툴체인과의 호환성 지원하며 영향을 받지 않습니다.

증상

레벨플레이 Unity(Ads Mediation) 패키지를 9.6.0으로 업그레이드하면 Android 빌드 실패하고 다음 오류가 표시됩니다.
참고: 일부 입력 파일은 지원이 사용 중단 예정 API 사용하거나 오버라이드.참고: 자세한 내용은 -Xlint:deprecation으로 다시 컴파일합니다.ERROR:D8: com.android.tools.r8.kotlin.H실패: 빌드 완료되었지만 2건의 오류가 발생했습니다.1: 작업에 실패하고 예외가 발생했습니다.-----------* 잘못된 사항: 작업 ':런처:mergeExtDexRelease'에 대한 실행이 실패했습니다.> 설정에 대한 모든 파일을 결정할 수 없습니다. ':런처:releaseRuntimeClasspath'> kotlin-stdlib-2.1.21.jar(org.jetbrains.kotlin:kotlin-stdlib:2.1.21) 변환하다(동사), 트랜스폼(명사) 실패 {artifactType=android-dex, ...} 속성과 일치합니다.> DexingWithClasspathTransform의 실행 실패: .../transformed/jetified-kotlin-stdlib-2.1.21.jar.> 디스킹하는 동안 발생하는 오류입니다.2: 작업에 실패하고 예외가 발생했습니다.-----------* 잘못된 사항: java.lang.StackOverflowError(오류 메시지 없음)빌드 실패
이 오류 메시지 두 가지 표시는 Kotlin 2 호환성 문제를 확인합니다.
  1. 출력에
    ERROR:D8: com.android.tools.r8.kotlin.H
    줄이 표시됩니다.
  2. 결함이 발생한 아티팩트는
    kotlin-stdlib-2.1.21.jar
    (또는 다른
    Kotlin 2.x stdlib
    )입니다.

원인

Android 빌드 오류는 다음과 같은 이유로 발생할 수 있습니다.
  • 레벨플레이 SDK 9.6.0(및 일부 네트워크 어댑터)은 Kotlin 2.x 표준 라이브러리(
    kotlin-stdlib-2.1.21
    )에 종속되어 있습니다.
  • Unity 2022 LTS에는 Kotlin 2 지원 이전의 AGP/R8 버전이 번들로 제공됩니다. 번들 D8/R8은
    D8: com.android.tools.r8.kotlin.H
    오류와 보조
    StackOverflowError
    로 나타나는 Kotlin 2 stdlib 메타데이터를 처리할 수 없습니다.

해결 방법

이 문제를 결정하려면 다음 지침에 따라
settingsTemplate.gradle
에
buildscript
차단을 추가하여 R8을 오버라이드합니다.
  1. 프로젝트에 아직
    settingsTemplate.gradle
    파일이 없는 경우 다음과 같이 Unity 에디터에서 활성화합니다. a. 파일 > 빌드 설정으로 이동합니다. b. 플랫폼으로 Android를 선택한 다음 플레이어 설정을 선택합니다. 프로젝트 설정 창이 열립니다. c. Android 설정 탭에서 퍼블리셔 설정으로 이동한 다음 커스텀 Gradle 설정 템플릿을 활성화합니다. 이렇게 하면 Unity가 ARTIFACTORYREPOSITORY 및 DIR_UNITYPROJECT 토큰이 있는 A
    ssets/Plugins/Android/settingsTemplate.gradle
    파일을 생성할 수 있습니다.
  2. 를 엽니다
    Assets/Plugins/Android/settingsTemplate.gradle
    .
  3. Google의 R8 릴리스 Maven에서 R8 8.5.35을 당기는
    buildscript
    코드 차단을 추가합니다. 기존의
    pluginManagement
    코드 차단 바로 뒤에 추가합니다.
참고
권장되는 베스트 프랙티스는 Unity 2022 LTS에서 레벨플레이 9.6.0에 대해 검증된 버전인 R8 버전 8.5.35입니다. 하지만 8.5.35보다 최신 R8 버전을 사용할 수 있습니다. 구체적으로 Kotlin 2를 지원하는 8.5.x 이상의 R8 버전은 모두 지원됩니다.
pluginManagement { repositories { **ARTIFACTORYREPOSITORY** gradlePluginPortal() google() mavenCentral() }}buildscript { repositories { maven { url "https://storage.googleapis.com/r8-releases/raw" } } dependencies { classpath 'com.android.tools:r8:8.5.35' }}
참고
이 문제를 결정 Kotlin Gradle 플러그인 업그레이드가 필요하지 않습니다. 오류는 Kotlin 컴파일 아니라 덱스 파이프라인 발생하므로 R8만 업그레이드해야 합니다.
다음 코드 라인은 Android Gradle 플러그인이 번들로 된 오래된 버전을 선택하기 전에 Gradle이 R8 8.5.35(
Kotlin 2 stdlib
지원)를 결정합니다. 그런 다음
mergeExtDexRelease
작업은 최신 R8을 사용하고 빌드가 성공적으로 완료됩니다.
buildscript { dependencies { classpath 'com.android.tools:r8:...' } }
참고
R8 오버라이드는 Kotlin이 아닌 코드에 영향을 미치지 않습니다. 이는 덱서/축소기 버전만 변경하고 애플리케이션 코드, AGP 버전 또는 축소 규칙도 변경하지 않습니다.

해상도 확인

  1. 프로젝트 루트에서 다음 커맨드 실행하여 열린 Gradle 데몬 닫습니다.
    ./gradlew --stop.
    또는 다음을 실행하여 Gradle 변환을 삭제할 수 있습니다.
    ~/.gradle/caches/transforms-3/
  2. Unity 에디터에서 파일 > 빌드 설정... > **빌드(릴리스 설정)**로 이동합니다.
  3. :launcher:mergeExtDexRelease
    작업이 완료되고 APK 또는 AAB가 D8 오류 없이 빌드되었는지 확인합니다.
오류가 지속되면 다음을 시도하십시오.
  • buildscript
    차단이
    mainTemplate.gradle
    또는
    baseProjectTemplate.gradle
    가 아닌
    settingsTemplate.gradle
    상태인지 확인합니다.
  • 이전 R8 클래스 경로를 다시 도입하는 다른 템플릿이 없음을 확인합니다. 0- 다음 커맨드를 사용하여 Gradle 변환하다(동사), 트랜스폼(명사) 캐시를 지우고 다시 빌드합니다.
    rm -rf ~/.gradle/caches/transforms-3/

Copyright © 2026 Unity Technologies
법률 정보개인정보 처리방침쿠키Documentation Terms of Use개인 정보 판매 또는 공유 금지개인정보 보호 선택(쿠키 설정)

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 지역 내 Unity Technologies 또는 그 계열사의 상표 또는 등록상표입니다(자세한 내용은 여기에서 확인하세요). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

일부 페이지는 편의를 위해 기계 번역되었으며 부정확한 내용이 있을 수 있습니다. 정보가 상충되는 경우, 영어 버전을 우선으로 참조하세요.

  • 보고 있는 페이지
    • 증상

    • 원인

    • 해결 방법

    • 해상도 확인


이 페이지의 문제 보고