時代に乗り遅れないアプリにするために / Android going forward
by
Sansan
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
時代に乗り遅れないアプリにするために Eight事業部 プロダクト部 西村奈令大
Slide 2
Slide 2 text
Who I am?? 西村 奈令大 (Narihihro Nishimura) @engine_NN @nishimuraNN Sansan株式会社 Eight事業部(2017/09 〜) webフロントエンド基盤整備 メンション機能開発 企業向けサービス開発・運用 求人サービス開発 Androidアプリ開発 (2018/12 〜) ← イマココ
Slide 3
Slide 3 text
Eight
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
「時代に乗り遅れない」 とはなんぞや
Slide 6
Slide 6 text
時代に乗り遅れない ≠ イケてる 推奨される形式に整えていくことで、その先のアップデートの恩恵を受けら れるようにする → アプリを常に安定して稼働させることを保証するためには不可欠
Slide 7
Slide 7 text
やったこと - target SDKバージョンアップ - Support Library → Android Xへの刷新 (+ ライブラリアップデート)
Slide 8
Slide 8 text
やること - target SDKバージョンアップ - Support Library → Android Xへの刷新 (+ ライブラリアップデート)
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
2019年までにtarget SDKを28にしなさい さもなければ、アップデートが効かなくなりますよ
Slide 11
Slide 11 text
ポイント ~Apache HTTPクライアントの利用継続~ AndroidManifest.xmlに追加するだけ
Slide 12
Slide 12 text
ポイント ~フォアグラウンドサービスへのpermission追加~ AndroidManifest.xmlに(ry
Slide 13
Slide 13 text
ポイント ~http通信の許可~ isCleartextTrafficPermitted()がデフォルトでfalseを返すようになった → http通信を引き続き行う場合は、設定が必要になる
Slide 14
Slide 14 text
ポイント ~webviewデータディレクトリへのアクセス~ 複数プロセスで同一ディレクトリにアクセスすることができなくなった
Slide 15
Slide 15 text
動作も問題なし
Slide 16
Slide 16 text
やること - target SDKバージョンアップ - Support Library → Android Xへの刷新 (+ ライブラリアップデート)
Slide 17
Slide 17 text
Android X対応? 1 Refactor -> Migrate to Android X 2 一部手動で書き換える これで十分なはず!!
Slide 18
Slide 18 text
そう思っていた時期が 僕にもありました
Slide 19
Slide 19 text
実際には - 何これ!ビルドが通らない!! - テストも通らない!!
Slide 20
Slide 20 text
ビルドが通らない ローカルではビルドが通るのに、CIを回すと失敗する
Slide 21
Slide 21 text
ビルドが通らない gradle.propertiesがリポジトリ管理しているものと異なっていた
Slide 22
Slide 22 text
ビルドが通らない gradle.propertiesがリポジトリ管理しているものと異なっていた
Slide 23
Slide 23 text
テストが通らない モジュールごとのAndroid Test実行で失敗する 失敗しているテストを単体実行すると・・・
Slide 24
Slide 24 text
テストが通らない classesN.dexの中にテストクラスが入っているが、Runnerがそれを見てくれないの では (参考: https://qiita.com/kgmyshin/items/654143cdddef8bacbbec) classes.dexという名前のファイルしか 参照しない
Slide 25
Slide 25 text
と、思ったけど
Slide 26
Slide 26 text
よく見ると Ads関連のsdk周りが怪しい・・・
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
テスト用のmanifestに新しい設定が漏れていた → 実行前にクラッシュが発生し、テスト実行ができな かった
Slide 29
Slide 29 text
全対応完了
Slide 30
Slide 30 text
まとめ - アプリを常に安定して稼働させるためには、環境の継続的なアップデートが重 要 - 事業推進とのバランスが難しい