Android実機テストにAWS Device Farmを使ってみた 利点と欠点

Androidアプリ開発者にありがちな悩み

  • エミュレータでは正常に動いてる
  • 自分のAndroid実機でも問題なし
  • でも他実機がどうなってるか不安...

僕はAndroid実機レンタルサービスとかも考えたけど、めっちゃ高いです。基本料金1万円で2日目以降は3000円みたいなサービスが多いです...

あと実機レンタルするために面倒な手続きとかしたくないし、いちいち端末を返すのも面倒です。クラウドでできるなら最高ですよね。

そんな時にすごいサービスを発見!

AWS Device Farm

ここがAndroid実機テストに最高でした。

Android Studioのエミュレータは信用できない

Android Studioには次の機能もついてます。

  • APIレベルごとのエミュレータの作成
  • エミュレータによる実行テスト

これは便利といえば便利なんですが、どう考えても実機と違った動作をしたり、実機では起こらないエラーなんかが発生しがちです。

だから基本的にはエミュレータは信用してません。というか信用してはいけないと思います。(実機とエミュレータは基本別物)

かといって実機レンタルサービスは高すぎるし面倒

そこで検討したのが実機レンタルサービス

「Android 実機レンタル」でググると色々出てきます。

▼ その検索で上位表示されるサービスの料金体系

  • 1泊2日の利用料金 : 12000円/台
  • 日ごとの追加料金 : 1200円/台
  • SIM : SIMカード付

う~~~ん・・・

手元に実機が必要なら出してもいい金額なんですが、少しお高いなと思います。あと各OSごとのデバッグが必要なら数万円ですまないですね(-_-;)

ですがこういうサービスの必要性は高くないです。

今はこういうサービスもたくさんあるからです。

  • クラウド上で実機テストできる
  • ブラウザ上で実機が動かせる
  • 申請手続きも配送も必要ない

恐らく実機レンタルサービスで「郵送します」とか「デリバリーします」というのは廃れてくと思います。クラウドで十分なので(iPhone・Androidにかかわらず)

AWS Device Farmが実機テストに最高だった

僕が選んだのはAWS Device Farmというサービス

これは次のような特長を持ってます。

  • 最初の1000分は無料 (!)
  • 課金は0.17USD/デバイス分
  • ブラウザだけで実機テストできる
  • 最新OSにも当然対応済み

なんと最初の1000分は完全無料です!

そこは天下のAWSだけあってすごい。1000分だからだいたい16時間ほどなら無料で実機テストができます。

あと1000分を超えたとしてもデバイス1分当たりの料金は0.17USD。現在のレートだと18~19円ほどとお手軽です。

OSごとの実機テストも簡単だし、必要最低限の課金ですむのがアプリ開発者にとって嬉しいところかもしれません。

AWS Device Farmを実際に使ってみた結果

こういう感じで実機テストができました。

まずAWSログイン後にトップ画面から【すべてのサービス】=>【モバイル】=>【Device Farm】と進むと、次みたいな画面が出てきます

▼ AWS Device Farm

AWSログイン後にトップ画面から【すべてのサービス】=>【モバイル】=>【Device Farm】と進む

そしたら「+Create a new project」を押してなんか適当にプロジェクトを作成してください。僕はとりあえず「Android app」と名前を付けました。

作成できたらそのプロジェクトをクリックし、【Remote access】=>【+ start a new session】をクリックします。

▼ 【+ start a new session】をクリック

作成プロジェクトをクリックし、【Remote access】=>【+ start a new session】を押す

▼ あとはOS種類などを選んでセッション作成

OS種類などを選んでセッション作成

 

上画面のようにOSバージョン・機種を選んだら、「Confirm and start session」を押せばセッションが開始します。

▼ こういう準備中ダイアログが出てきて...

AWS Device Farm - 実機起動準備中のダイアログ

▼ クラウド上でAndroid実機が起動!!

AWS Device Farm - 本当にブラウザ上だけで実機が動かせた!ただしいくつか注意点もある

最初使ったときは少し感動しました。

しかもAPKもアップロードできるし、エミュレータと違って「このOSではこういう動作になるのか」とデバッグに大助かりです。

AWS Device Farmを使うときの欠点・注意点

便利なAWS Device Farmですが・・・

こういう欠点・注意点もあります。

動作がかなり重たいので焦らず操作しよう

ブラウザで動くからかなり重いです。

本当の実機での操作感を100%とするなら、Device Farmでの操作感は半分程度になるイメージですね。とにかく重い。とはいえ実機だからアプリの起動自体は早いし、リモート通信が発生するから重く感じるだけです。

  • 本物の実機ほど操作は快適ではないこと
  • 反応しなくても焦らず操作すれば問題なし

こういったことに注意が必要

使わなくなったら必ずセッションを切ること

Device Farmはデバイス分ごとに課金されます。

もちろん最初の1000分は無料だから問題なし

少し気を付けるべきは無料枠を使い切ったときです。そのときはデバイス1台当たり1分当たりに0.17USDがかかるという話でした。

だから次のことに留意してください。

  • セッション中は課金が発生すること
  • 終わったら必ずセッションを切ること

たとえば「Device Farmのセッションを閉じずに外出」なんてしたら悲惨なことになります。ほぼあり得ないけど、人間だからミスはするものです

恐らくブラウザを閉じてもセッション終了するはずですが、そこはまだ試していません。明示的にセッションを切る方が安全です。

AWS Device Farmで快適な実機デバッグ

もちろんiPhoneにも対応してます。

実機デバッグが必要になったらドンドン活用していく予定

動作はモッサリしてるので、今後の改善に期待です。

以上、AWS Device FarmでAndroid実機デバッグでした。

ではまた(@^^)/~~~