티스토리 뷰

Android

Android build 시 VerifyError 발생

Developer 이도운 2020. 4. 25. 22:14

오랜만에 Android Studio를 켜서 3.6.2로 버전업을 하였더니 빌드가 실패한다.

아래와 같은 에러들이 보인다. 숫자는 프로젝트마다 조금씩 다른 듯, Git branch와는 관계가 없다.

  • ERROR: Uninitialized object exists on backward branch 45
  • Caused by: java.lang.VerifyError: Uninitialized object exists on backward branch 45

기존에는 Oracle JDK를 1.8을 설치하여 쓰고 있었는데 Android Kotlin 관련 업데이트와 충돌을 하는 듯 싶다.

Jetifier 빌드 툴 동작중 문제가 된다. Jetifier가 무엇인지는 아래 링크 참조

https://developer.android.com/studio/command-line/jetifier?hl=ko

 

jetifier  |  Android 개발자  |  Android Developers

독립형 Jetifier 도구는 동등한 AndroidX 패키지를 대신 사용할 수 있도록 지원 라이브러리에 종속된 라이브러리를 이전합니다. 이 도구를 사용하면 Android 스튜디오와 함께 번들로 제공되는 Android Gradle 플러그인을 사용하는 대신 개별 라이브러리를 직접 마이그레이션할 수 있습니다. 참고:이전을 시작하기 전에 지원 라이브러리의 버전 28.0.0을 사용하도록 라이브러리를 업데이트해야 합니다. Jetifier 설치 Jetifier를 설치

developer.android.com

검색하여보니 아래와 같이 Embedded JDK를 연결하도록 변경하면 되는 듯

https://stackoverflow.com/questions/50852086/gradle-sync-failed-uninitialized-object-exists-on-backward-branch-70 

 

Gradle sync failed: Uninitialized object exists on backward branch 70

My android app failed to sync gradle with the following error in build log: Uninitialized object exists on backward branch 70 Exception Details: Location: com/android/build/gradle/tasks/

stackoverflow.com

아래와 같이 File 메뉴에서 Project Structure... 메뉴를 선택하고

아래와 같이 SDK Location에서 JDK location을 Embedded JDK로 바꾸니 빌드가 다시 잘 된다.

여러 프로젝트가 열려있으면 모두 적용이 된다.

Google의 Oracle 탈출의 일환인 듯..?

댓글
댓글쓰기 폼
«   2020/06   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
Total
50,588
Today
13
Yesterday
12