졸작 전시회에 필요한 기능을 추가하고, 재빌드를 했다.
그런데 이게 무슨 일? 가상 머신에선 멀쩡히 돌아가는데 배포 후 실제 기기에서 설치한 앱은 로그인이 안됐다!
공포의 무한 로딩

로그인 마저 안되는 상황에서 로그를 확인하기도 어려운 상황... 무너지는 멘탈을 붙들고 수정사항을 하나하나 확인했다.
하지만 전혀 감이 잡히지 않았다.
그런데 늘 그렇듯 저녁을 먹고 오니까 어떤 생각이 스쳤다. 서버 로그를 확인해보니까 패킷 전송 자체가 안되던데, 이거 설마 인터넷에 액세스 할 권한이 없는건가...?
# 오류 당시 코드
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bbul.sidam_employee">
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="sms" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
# 정상적인 manifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bbul.sidam_employee">
<uses-permission android:name="android.permission.INTERNET" />
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="sms" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="tel" />
</intent>
그랬다. AndroidManifest.xml에 인터넷 접속 권한 태그가 삭제되어 있었다. 이걸 수정한 기억이 없었기에 왜 이런 변경이 생겼는가 한참 고민했는데, 아무래도 병합 과정에서 생긴 문제같다.
같은 앱을 두 명이서 개발하는 환경에서 시간에 쫓기다보니, 서로의 작업물을 확인하고 공식화 하는 과정을 생략했는데, 그러다보니까 자동 merge가 안되더라. 두 branch가 관련 없는 커밋 기록이 쌓일수록 멀어져서 merge를 허가 안 해줬다..
그래서 결국 최종 작업물을 강제로 병합했는데, 그 과정에서 해당 태그가 실종(...) 됐던 것 같다.
오늘 배운 점.
같이 작업을 할 땐 아무리 시간에 쫓겨도 서로의 작업물을 확인하고 공식화하는 과정을 거치자. 나중에 한 번에 하려다 보면 이렇게 피보는 일이 생긴다...