이번 게시글은 프로젝트 시작에 대한 간략한 기록입니다. 본격적인 구현 내용은 2편부터 작성할 예정입니다.
프로젝트의 첫 회의는 디스코드 음성 채널에서 진행되었습니다.
소수 인원이어서 자유롭게 소통할 수 있었고, 다음과 같은 주요 내용을 정리했습니다:
프로젝트는 안드로이드 앱으로 개발하며, 프론트엔드 주요 구성 요소로는 Kotlin, Coroutine, Retrofit2을 사용합니다.
이번 글은 본격적인 개발 전 작성된 것으로, 추후 일부 구성 요소는 변동될 수 있습니다. 또한 Firebase App Distribution을 통해 테스트용 Android 앱 배포 및 배포 자동화를 목표로 합니다.
최소 SDK 버전으로 API 레벨 21 (Android 5.0 Lollipop)을 선택했습니다.
현업에서 구형 기기에 대한 대응이 중요하다고 느꼈기 때문에 최소한의 버전을 적용했습니다.
build.gradle 파일에서 빌드 타입을 정의했습니다:
디버깅을 완료한 후 프로젝트 root에 키스토어 디렉터리를 생성하고, keystore 파일을 만들어 보안 설정을 완료했습니다.
개발용 브랜치 develop를 생성하여 개발을 시작했습니다.
본격적인 개발에 앞서 배포 환경을 먼저 구성한 후, 앱 개발을 시작하기로 했습니다.
Firebase Console에서 프로젝트를 생성하고, 가이드를 따라 안드로이드 프로젝트에 Firebase를 연동했습니다.
Firebase Console에 등록된 패키지명과 동일한 패키지명의 apk 파일이 필요했으며,
staging 빌드 타입으로 apk 파일을 생성하여 App Distribution에 업로드했습니다.
Firebase 연동 과정에서 Execution failed for task ':app:mergeExtDexStaging'. 오류가 발생했습니다.
이 문제는 Firebase Console에서 제공된 Gradle 설정 버전과 공식문서의 버전 차이로 인한 것이었습니다.
공식문서에 명시된 버전으로 수정한 후 sync하여 문제를 해결하고, 정상적으로 apk 파일을 추출했습니다.
결과적으로 팀원들에게 성공적으로 테스트 앱을 배포할 수 있었습니다.


첫 회의와 프로젝트 초기 설정 과정을 마무리했습니다. 이후 개발 및 기능 구현에 대한 내용은 2편에서 다룰 예정입니다.