LoginSignup
0
0

More than 3 years have passed since last update.

複数Emulatorが起動している環境でApp Crawlerを使う

Last updated at Posted at 2019-09-09

したかったこと

複数emulatorが起動している環境でApp Crawlerを用いようとしたら

Exception in thread “main” androidx.test.tools.crawler.launcher.exceptions.AdbExecutionException: More than one device/emulator found. Use ‘--device-name’ or ‘--device-serial-code’ option to pick a specific device/emulator.
       at androidx.test.tools.crawler.launcher.util.AdbExecutor.getDeviceSerialCode(AdbExecutor.java:155)
       at androidx.test.tools.crawler.launcher.util.AdbExecutor.<init>(AdbExecutor.java:26)
       at androidx.test.tools.crawler.launcher.CrawlLauncher.<init>(CrawlLauncher.java:88)
       at androidx.test.tools.crawler.launcher.CrawlLauncher.main(CrawlLauncher.java:93)

とエラーが出てしまった。

何かオプションをつけろとログでは言っている割に、公式ドキュメントにはこのオプションの説明が見当たらなくて、ハマってしまったのでメモ。

解決法

--device-serial-code  動かしたい端末のserialナンバー

をオプションに与える。

  • エラーログでは--device-nameオプションか--device-serial-codeオプションを要求されているが、自分の環境(app crawler : Beta1.1 / PC : MacOS Mojave バージョン10.14.4)では--device-nameオプションは正常に動かなかった。 (serial numberを与えても、端末名を与えてもエラーが出た。)

コード例


# 起動しているデバイスを取得
# 1行目はのぞいて[端末名 device]となっているコマンド結果から端末名だけ取り出して配列に入れる
DEVICES=$(adb devices | sed “1d;s/[[:space:]].*$//“)
echo $DEVICES

DATE=date +%y-%m-%d_%H-%M-%S

# 1台ずつapkをインストールしてテストを行う
for device in $DEVICES
do
   #app-crawlerのapp-crawlerオプションはちゃんと動かなかったのでインストールは個別に行う
   adb -s $device install ./app/build/outputs/apk/debug/hogehoge-debug.apk
   # 結果を収納するフォルダを作成して移動
   mkdir -p AppCrawler_${device}/${DATE}
   cd ./AppCrawler_${device}/${DATE}
   java -jar ../../app-crawler/crawl_launcher.jar --android-sdk $ANDROID_HOME --device-serial-code $device --app-package-name com.kkkkan.hogehoge 

done

その他・感想

--apk-fileオプションも、実機ならちゃんと動いたけどemulatorだと全然動かなくて先に adb -s installでapkをインストールしてから--app-package-nameオプションで別途app crawlerを起動しなきゃいけなかったし、betaというだけあってまだまだバグだらけっぽい。

参考にしたもの

https://qiita.com/kafumi/items/fff5324a4bb70b7b7986
https://qiita.com/muran001/items/ffd56f8a7dd76e3968fb

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0