時代に乗り遅れないアプリにするために / Android going forward

13d936e697fe0f4fa96f926d0a712f6c?s=47 Sansan
June 20, 2020

時代に乗り遅れないアプリにするために / Android going forward

■イベント 

Sansan Android Engineer's Talk【オンライン開催】

https://sansan.connpass.com/event/176806/

■登壇概要
タイトル:時代に乗り遅れないアプリにするために
発表者:Eight事業部 プロダクト部 西村奈令大

▼Sansan Builders Box
https://buildersbox.corp-sansan.com/

13d936e697fe0f4fa96f926d0a712f6c?s=128

Sansan

June 20, 2020
Tweet

Transcript

  1. 時代に乗り遅れないアプリにするために Eight事業部 プロダクト部 西村奈令大

  2. Who I am?? 西村 奈令大 (Narihihro Nishimura) @engine_NN @nishimuraNN Sansan株式会社

    Eight事業部(2017/09 〜) webフロントエンド基盤整備 メンション機能開発 企業向けサービス開発・運用 求人サービス開発 Androidアプリ開発 (2018/12 〜) ← イマココ
  3. Eight

  4. None
  5. 「時代に乗り遅れない」 とはなんぞや

  6. 時代に乗り遅れない ≠ イケてる 推奨される形式に整えていくことで、その先のアップデートの恩恵を受けら れるようにする → アプリを常に安定して稼働させることを保証するためには不可欠

  7. やったこと - target SDKバージョンアップ - Support Library → Android Xへの刷新

    (+ ライブラリアップデート)
  8. やること - target SDKバージョンアップ - Support Library → Android Xへの刷新

    (+ ライブラリアップデート)
  9. None
  10. 2019年までにtarget SDKを28にしなさい さもなければ、アップデートが効かなくなりますよ

  11. ポイント ~Apache HTTPクライアントの利用継続~ AndroidManifest.xmlに追加するだけ

  12. ポイント ~フォアグラウンドサービスへのpermission追加~ AndroidManifest.xmlに(ry

  13. ポイント ~http通信の許可~ isCleartextTrafficPermitted()がデフォルトでfalseを返すようになった → http通信を引き続き行う場合は、設定が必要になる

  14. ポイント ~webviewデータディレクトリへのアクセス~ 複数プロセスで同一ディレクトリにアクセスすることができなくなった

  15. 動作も問題なし

  16. やること - target SDKバージョンアップ - Support Library → Android Xへの刷新

    (+ ライブラリアップデート)
  17. Android X対応? 1 Refactor -> Migrate to Android X 2

    一部手動で書き換える これで十分なはず!!
  18. そう思っていた時期が 僕にもありました

  19. 実際には - 何これ!ビルドが通らない!! - テストも通らない!!

  20. ビルドが通らない ローカルではビルドが通るのに、CIを回すと失敗する

  21. ビルドが通らない gradle.propertiesがリポジトリ管理しているものと異なっていた

  22. ビルドが通らない gradle.propertiesがリポジトリ管理しているものと異なっていた

  23. テストが通らない モジュールごとのAndroid Test実行で失敗する 失敗しているテストを単体実行すると・・・

  24. テストが通らない classesN.dexの中にテストクラスが入っているが、Runnerがそれを見てくれないの では (参考: https://qiita.com/kgmyshin/items/654143cdddef8bacbbec) classes.dexという名前のファイルしか 参照しない

  25. と、思ったけど

  26. よく見ると Ads関連のsdk周りが怪しい・・・

  27. None
  28. テスト用のmanifestに新しい設定が漏れていた → 実行前にクラッシュが発生し、テスト実行ができな かった

  29. 全対応完了

  30. まとめ - アプリを常に安定して稼働させるためには、環境の継続的なアップデートが重 要 - 事業推進とのバランスが難しい