エンジニアが行う、Androidバージョンアップ対応事前調査とは
こんにちは
Androidエンジニア見習い 上様です。
30度越えの気温で今年の夏はどれだけ暑くなるのか毎年心配ですね。
そんな中最近、Android 14 Betaが出てきて機能追加、仕様変更等があり、
開発中のアプリにどう影響してくるのか調査している方が多いと思います。
そこでエンジニア見習いは実際に何をしたのか参考までに記載していこうと思います。
調査環境と調査対象
使用環境
PC: Mac Book Pro
AndroidStudioバージョン:2022.1.1 Patch 2
エミュレータ設定:Android 13.0 API 33
エミュレータ設定2:Android 14.0 API UpsideDownCake
使用しているプロジェクトファイル
調査対象
Android 14.0 UpsideDownCake
Android公式 developersより
・更新内容の確認(追加機能、修正箇所など)
・影響範囲(現在開発のアプリにどういった影響があるか)
バージョンアップデートに備えた事前調査とは
そもそもAndroidバージョンをアップグレードする前に
開発側の立ち位置として事前に調査しておくことは何か。
エンジニア見習いの私は何もわからず、Android Studioのエミュレータを新規作成し、
API UpsideDownCakeのデバイスを準備して、既存のコードに対してテストをしていくことだと思っておりました。
そこで動作の確認テストをして、問題が出た場合、それに対処すると、、、。
なんとも言えない力技でバグ、エラーがするする抜けていきそうで何もチェックできていませんよね。笑
そこで調べてみようと検索したところ、私の検索ワードが悪かったのか、
開発側としての事前準備について教えてくれる記事が見つからない、、、、、。
でてくる記事は、大半がユーザー向けのAndroid OSアップデート前の記事でアップデート前にデータのバックアップをしましょう、、、。など
これから事前調査に関わる方、少しでも調査について知りたかった方の参考になればと思いこの記事を作成いたしました!
それでは調査をする理由、目的について簡単に説明していきましょう!
調査理由と目的
・調査理由
→アップデート内容がどういった内容なのかを知る
→修正内容、機能追加、仕様変更などを把握する
これらは今現在のバージョンとの差異を調べるため必要です。
・調査目的
現在開発をしているアプリケーションが、
AndroidOS バージョンをアップグレードした後、
どのような問題や影響が考えられるかを調査し、洗い出すことで
OSアップグレードした後でも問題なく想定した動作をするか確認するため、
現状、または今後どのようなことが必要かを割り出すことができます。
私が何も知らずに想定していた事前調査とは全く違いましたね笑
単純に事前に調査をすることを指しており、
実際に動かしてこれが症状として起きました!という段階ではなく、あくまで調査であり現状のコードのままOSアップグレードをして、そのまま想定通りに動くのか調べる。といった内容ではなかったです。
事前調査とは何をするのか
それでは実際は、事前調査とは何をするのか、
実装の調査段階で僕がやっていたことを段階的に追っていきます!
- Android公式 developerサイトを開く。
- 該当OSの情報を見る(今回であればAndroid 14)
- アプリ向けの動作の変更点を確認
- 関連する項目の洗い出し
- 影響範囲の調べ
Android 14 更新内容の確認
Android公式developersでは、
Android14の特徴、動作の変更内容、新しい機能の詳細が記載されております。
Android公式HP → Android14詳細
その他にもAndroid14アップデートに伴った、非推奨APIの確認や、実機での確認をすることによって判明する問題箇所の洗い出しなど様々なものがあります。
今現在のプロジェクトコードの非推奨の洗い出しをして出力するコードは以下になります。
参考までにご使用ください。
/* ファイル名:build.gradle */
Android{
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.deprecation = true
options.compilerArgs << "-Xmaxwarns" << "1000"
}
}
}
最後に
開発見習いには、事前調査がまず何か。具体的にどういった作業をしたら良いのかなど分からないことだらけでしたが、今回の調査を経てすごく勉強できました。実際にコードを書き込んだりするのは設計のフェーズですので、あくまでどのような変更があるのか、どのように実装していくのが適しているかなどをこのフェーズで調査する。という内容になりました!
分からないことばかりですが、僕も実際に経験して今後も皆様にこういった形で共有できればいいなと考えております!それでは、皆様も体調に気を付けてお過ごしください!!