LocalDateTime Api 26 이하

sumi Yoo·2024년 10월 14일

문제점

LocalDateTime.now() 를 사용하려 했는데, "Call requires API level 26 (current min is 25) " 에러가 떴다.

원인

지금 사용하려는 LocalDate 클래스가 속해있는 java.time API 자체가 Java 8 버전에서 추가된 것이고, 이 Java.time API를 Android 8.0 (API 26) 버전부터 지원을 시작했기 때문에 사용하지 못하는 것이다.

해결

컴파일 과정에서 Desugaring을 수행하여 JDK 버전 호환 문제를 해결해야 한다.

android {
  compileOptions {
      isCoreLibraryDesugaringEnabled = true << 추가

      sourceCompatibility = JavaVersion.VERSION_1_8
      targetCompatibility = JavaVersion.VERSION_1_8
  }
  dependencies {
  	coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.5") << 추가
  }
}

https://velog.io/@hoyaho/LocalDate-%EC%99%80-minSdk26-%EC%98%A4%EB%A5%98

0개의 댓글