Mobile Engineering

[Android] No static method metafactory

Hans L 2020. 4. 18. 18:22

Kotlin + Retrofit + OkHttp 예제를 만들고 있는데.. 갑자기 다음과 같은 에러가 나와서 살짝 당황했습니다.

java.lang.NoSuchMethodError: No static method metafactory  (declaration of 'java.lang.invoke.LambdaMetafactory' appears in /apex/com.android.runtime/javalib/core-oj.jar)

 

 

원인은 자바의 호환성에 대한 지정이 없었기 때문이었습니다. 그래서 다음과 같이 app:gradle.build에 추가해서 1.8 기준으로 지정해서 해결할 수 있었습니다.

android {
...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
...
}

 

 

참고 코드는 아래와 같습니다.

https://github.com/goldfing/AndroidProjects/blob/master/HttpLogInterceptorExam/app/build.gradle

 

goldfing/AndroidProjects

Contribute to goldfing/AndroidProjects development by creating an account on GitHub.

github.com

Reference

Stackoverflow: https://stackoverflow.com/questions/59448845/no-static-method-metafactory

 

 

끝.