본문 바로가기
Develop/resolve issus & error

react native 갑자기 안드로이드 빌드가 안될때

by arthur_noh 2022. 11. 10.

이 이슈를 해결한지 10일이나 지났는데 이제서야 글을 쓰는 이유는 단순히 시간이 없어서 그랬다.

 

10월 29일까지 빌드되던 프로젝트가 갑자기 10월 30일 부터 빌드가 안된다.

평소처럼 침착하게 에러 로그을 읽어가며 어떤 라이브러리가 문제를 발생시키는지 읽어보았다.

 

그런데 웬걸 그냥 path를 설정못하고 빌드되다가 죽어버리는게 아닌가?

단순한 라이브러리 버전 이슈라고 생각었는데 알고보니 jcenter가 죽어서 그런 것이었다. (현재 글 작성중인 11월 10일까지 죽은 상태임)

https://jcenter.bintray.com/

403 뜨면 죽은 상태이다.

 

안그래도 지원 중단되었고, 앞으로 읽기 전용모드로 지속공급한다는 이야기는 들어서 큰 문제없이 사용하고 있었는데 이번에 완전 사망해버려서 라이브러리 빌드가 아예 안되었다. (참고: https://tiii.tistory.com/45)

 

내가 사용하는 프로젝트에 jcenter를 의존하는 친구들을 모두 찾고, 다 mavenCentral로 변경해주는 작업을 진행해줄 필요가 있었는데 이게 보통 쉬운일이 아니라는것이 느껴졌다. 모든 서드파티 라이브러리 친구들이 친절하게 동일한 이름으로 maven에 올렸을리는 없지 않은가...(https://mvnrepository.com/ 여기서 이름 다르면 일일히 찾아줘야한다.)

 

다행이도 내 프로젝트에 포함된 라이브러리 중에 jcenter 의존성만 제거해주니 전부 해결되었다. (전체 라이브러리중 2개 정도만 jcenter를 의존하고 있었음) 빌드에도 jcenter를 없애는건 덤.

 

한 라이브러리는 꾸준히 업데이트를 하고 있어서 메일을 보냈고, 다른 한 라이브러리(react-native-nmap)는 1년 넘게 업데이트 없이 방치되고 있어서 이건 몽키 패치없이는 해결할 수 없어보였다.

https://github.com/ds300/patch-package 를 사용해서 jcenter 의존성 제거 후 mavenCentral 로 모두 변경했더니 다행이도 정상 빌드되었다. 안그래도 문제 많은 라이브러리인데 잘 해결되서 다행이다.

 

jcenter 문제로 해결 안된다면 각 의존성을 해결해주고 몽키패치 해두길 바란다.