- 기사는 구글이 요구사항을 업데이트할 때 레거시 안드로이드 앱을 유지 관리하는 데 직면한 도전 사례 연구입니다.
- 저자의 팀은 수년 동안 안정적이었던 안드로이드 앱을 담당했으며, 활발한 개발은 없었습니다.
- 구글은 모든 앱이 API 레벨 31 이상을 대상으로 하여 앱의 대상 API 레벨보다 높은 안드로이드 OS를 실행하는 장치에서 사용자에게 계속 사용할 수 있도록 요구하는 이메일을 보냈습니다.
- 저자는 targetSdkVersion을 API 레벨 30에서 33으로 업데이트하고 분석과 관련된 호환되지 않는 의존성을 제거했습니다.
- 업데이트된 앱은 성공적으로 Google Play Store에 업로드되었고, 처음에는 예상대로 작동하는 것처럼 보였습니다.
- 그러나 고객은 가장 최신의 애플리케이션 버전을 사용하여 계정에 로그인하는 데 문제가 있다고 보고했습니다. 앱은 물리적인 안드로이드 장치에서 로그인 한 후에 충돌했습니다.
- 이 문제는 가장 최신의 안드로이드 버전(당시 13)에 특정하였고, 저자는 이 버전에서 앱을 테스트하지 않았다는 것을 깨달았습니다.
- 저자는 Google Play Store에서 이전 작동 버전으로 되돌리려고 시도했지만, 구글의 제한 때문에 이것이 불가능했습니다.
- 저자는 그 후 targetSdkVersion을 API 레벨 30으로 되돌리고 Play Store에서 새 릴리스를 만들려고 시도했지만, 이것도 구글의 필수 API 레벨 33 요구사항 때문에 불가능했습니다.
- 유일한 해결책은 가장 최신의 안드로이드 버전에 대한 충돌을 수정하고 새 릴리스를 만드는 것이었습니다.
- 저자는 알려진 충돌 문제를 수정하고 새 버전을 릴리스했지만, 앱은 "리뷰 중" 상태로 장기간 유지되었습니다.
- 저자는 구글과 애플이 모바일 앱 개발에 대한 통제를 비판하며, 이것이 개발자가 생산 문제를 해결하는 것을 방해할 수 있다고 주장합니다.
- 저자는 제품/서비스 개발에 대한 통제를 되찾기 위해 오픈 웹 표준으로 돌아가는 것을 제안합니다.
- 저자의 경험은 앱 배포를 위해 제3자 플랫폼에 의존하는 것의 잠재적인 함정과 모든 잠재적 사용자 환경에서 철저한 테스트의 중요성을 강조합니다.