下記は、Ruby スクリプトの中から adb shell
コマンドを呼び出して、その出力をハンドルするサンプルです。
ここで定義している adb_shell
メソッドは、受け取ったコマンド文字列を adb shell
の後ろにくっつけた形のコマンドを実行します(adb_shell('pm list packages')
とすると、adb shell pm list packages
が実行される)。
応用として、パッケージ名部分だけを取り出したいのであれば、下記のように正規表現でフィルタしてしまうこともできますね。
adb_shell('pm list package') do |line|
if line =~ /package:((\w|.)+)/
puts '==> ' + $1
end
end