- この記事は、Googleが要件を更新した際にレガシーAndroidアプリの保守で直面する課題についてのケーススタディです。
- 著者のチームは、長年安定していたAndroidアプリを担当しており、活発な開発は行われていませんでした。
- Googleは、すべてのアプリがAPIレベル31以上を対象とし、アプリの対象APIレベルより高いAndroid OSを実行するデバイスのユーザーが引き続き利用できるようにすることを求めるメールを送ってきました。
- 著者は
targetSdkVersionをAPIレベル30から33に更新し、分析関連の互換性のない依存関係を削除しました。
- 更新したアプリはGoogle Play Storeへのアップロードに成功し、当初は想定どおりに動作しているように見えました。
- しかし顧客から、最新バージョンのアプリケーションでアカウントにログインできないという報告がありました。アプリは物理的なAndroidデバイスでログイン後にクラッシュしました。
- この問題は当時の最新Androidバージョンである13に特有のもので、著者はこのバージョンでアプリをテストしていなかったことに気づきました。
- 著者はGoogle Play Storeで以前の正常動作バージョンにロールバックしようとしましたが、Googleの制限により不可能でした。
- その後、著者は
targetSdkVersionをAPIレベル30に戻してPlay Storeで新しいリリースを作成しようとしましたが、これもGoogleの必須APIレベル33要件のため不可能でした。
- 唯一の解決策は、最新Androidバージョンでのクラッシュを修正して新しいリリースを作成することでした。
- 著者は既知のクラッシュ問題を修正して新バージョンをリリースしましたが、アプリは長期間「審査中」の状態のままでした。
- 著者は、GoogleとAppleによるモバイルアプリ開発への統制を批判し、これが開発者による本番障害の解決を妨げる可能性があると主張しています。
- 著者は、製品やサービス開発の主導権を取り戻すために、オープンなWeb標準へ回帰することを提案しています。
- 著者の経験は、アプリ配布を第三者プラットフォームに依存することの潜在的な落とし穴と、あらゆる想定ユーザー環境で徹底的にテストする重要性を浮き彫りにしています。
1件のコメント
Hacker Newsの意見