안드로이드 스튜디오를 사용하다 보면 여러가지 버전을 만나게 된다.
혼자서 개발을 진행하거나 규모가 작은 스타트업에서 개발을 진행할때에는 안드로이드 스튜디오의 새로운 버전이 나올때마다 계속해서 업데이트를 진행했었다.
체감상 한달에 한번정도씩은 마이너 버전 업데이트부터 가끔씩 이름이 바뀌는 대규모 메이저 업데이트까지 다양하게 이루어졌었다.
그때는 그게 행복인줄 몰랐었다. 하지만 현 회사에서는 그게 어려웠다.
“혼자서 개발을 진행하거나 규모가 작은 스타트업” 에서는 가능할 수도 있다.
혹은 회사에서 버전에 대한 업데이트를 중요하게 생각하여 사용하는 라이브러리들을 항상 최신화 시키거나 아니면 은행과 같이 써드파티 라이브러리를 사용하는것이 부담스러워서 프로젝트에 여러가지 라이브러리를 사용하지 않는 경우도 가능하다고 말할수 있다.
하지만 꽤(?)많은 규모가 어느정도 있고 연력이 있는 회사들은 앞선 전임자들의 레거시와 전부 최신화 하기 어려울정도로 프로젝트가 규모가 크다면 이는 힘들 수 있다.
개인적으로 노란색 강박증이 있어서 Lint, deprecated에 항상 예민했던 나도 현 회사에 와서 레거시들을 보면서 전부 Shift + Enter와 Deprecated guide를 읽어가면서 열심히 첫 커밋을 올렸던 때가 생각난다.
수정하면서 왜 이걸 안하셨지? 라는 생각으로 올렸고 대차게 까였다.
그리고 자리에 앉아서 안드로이드 스튜디오(그때당시는 Chipmunk였던것 같다.), jdk, 하물며 Code Line까지 일치시켜놓고 작업을 진행했던 기억이 난다.
이는 다름이 아니고 안드로이드 스튜디오에서 버전을 올릴때마다 바뀌는게 생각보다 많기 때문이다.
gradle버전이 맞지 않는다던가 한글이 갑자기 깨진다던가…(최근 사용하던 dolphin은 layoutPreview가 심심하면 한번씩 안나와서 굉장히 귀찮았다.)
이는 연쇄작용이 일어날수밖에 없는게 gradle버전같은 경우는 특히나 라이브러리에 dependency가 걸려있는 경우가 많다. 라이브러리의 모든 주인들이 항상 최신의 상황에 맞춰서 업데이트를 해주는것은 아니기 때문이다.
그리고 대부분의 개발자들이 업데이트를 꺼려하는 이유는 아마 안정성때문일 것이다.
빌드하면서 변경되는 요인들이 어떤 사이드이펙트를 가져올지 몰라 몇몇 회사에서는 데브옵스팀에서 안정성을 검증하고 버전을 지정해주는 경우도 있다.
그래서 많은 사람들은 안정화버전을 기다리고 정식버전을 기다린다.(많은 사람들의 검증을 거친 그런 버전들..)
https://developer.android.com/studio
이번에는 Flamingo 정식버전 이 출시되었다.
크게 릴리즈 노트를 살펴보자면 나에게 체감있는 주기능은 다음과 같다.
https://developer.android.com/studio/releases?hl=en
이중에서 1번과 2번은 계속해서 기다려왔던 부분들이다.
사실 이번 포스팅의 주목적인 기능이다.
거의 모든 회사들은 앱의 안정성을 위해 Firebase - Crashlytics를 연결하고 끊임없이 모니터링을 할것이다.
이때 불편한 점은 이슈가 터지면 → Firebase - Crashlytics에 접속 → 이슈 티켓 확인 → 해당하는 부분을 확인해서 안드로이드 스튜디오로 와서 → 해당하는 부분을 찾고 수정… 이런 귀찮은 짓을 반복해야한다.
만약에 빌드과정이나 앱을 테스트하는 도중에 에러가 났다면 우리가 싫어하는 붉은색 글자로
NPE → 여기 class의 몇번째줄에서 에러남 → 이유가 뭐임 이렇게 Logcat에서 한눈에 보여줄텐데 말이다.
이번 업데이트에서는 이를 말끔하게 해결했다.
안드로이드 스튜디오의 우측 상단의 프로필 사진을 클릭해서 google로그인을 하여 현재 프로젝트와 Firebase를 연동시킨다면 AppQuality Insights 기능을 사용할 수 있다.
해당 기능은 Firebase Crashlytics의 이슈를 긁어와 모든걸 보여주고 클릭으로 바로 해당하는 라인으로 이동 가능하다.
이곳에는 기간, 버전, 상태, 디바이스의 종류등등을 선택할수 있으며 이벤트의 갯수까지 정확하게 보여준다.
이를 통해 Crash관리가 훨씬 수월해 질것으로 기대된다.
해당 기능은 Git History를 안드로이드 스튜디오에 연결한 기능이다.
우리는 개발을 진행하다보면 누구세요? 언제 이렇게 되셨어요? 하는 코드들을 자주 만나게 된다.
그럴때마다 항상 드래그 + Git - Show history for section … 누가 이걸 짰을까… 담당자는 누구지… 하는 행위를 반복한다.
이번 개편기능은 위 스크린샷과 같이 모든 코드에 몇월 몇일 사용자 누가 어떤 브랜치에서 해당코드를 수정했고 그때당시의 커밋메세지와 모든걸 다 보여준다.
이를 통해 범인을 색출할때 Git History에서 눈빠지게 코드를 볼 필요 없이 한눈에 볼수있게 된다.
끝으로 정말 오랜만에 안드로이드 스튜디오 버전을 업데이트하면서 실 사용한 후기를 간략하게 작성해보았다.