Class: Fastlane::Helper::AdbHelper
- Inherits:
-
Object
- Object
- Fastlane::Helper::AdbHelper
- Defined in:
- fastlane/lib/fastlane/helper/adb_helper.rb
Instance Attribute Summary collapse
-
#adb_host ⇒ Object
Path to the adb binary.
-
#adb_path ⇒ Object
Path to the adb binary.
-
#devices ⇒ Object
All available devices.
Instance Method Summary collapse
- #device_available?(serial) ⇒ Boolean
- #device_avalaible?(serial) ⇒ Boolean
- #host_option ⇒ Object
-
#initialize(adb_path: nil, adb_host: nil) ⇒ AdbHelper
constructor
A new instance of AdbHelper.
- #load_all_devices ⇒ Object
-
#trigger(command: nil, serial: nil) ⇒ Object
Run a certain action.
Constructor Details
#initialize(adb_path: nil, adb_host: nil) ⇒ AdbHelper
Returns a new instance of AdbHelper.
21 22 23 24 25 26 27 28 29 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 21 def initialize(adb_path: nil, adb_host: nil) android_home = ENV['ANDROID_HOME'] || ENV['ANDROID_SDK_ROOT'] || ENV['ANDROID_SDK'] if (adb_path.nil? || adb_path == "adb") && android_home adb_path = File.join(android_home, "platform-tools", "adb") end self.adb_path = Helper.get_executable_path(File.(adb_path)) self.adb_host = adb_host end |
Instance Attribute Details
#adb_host ⇒ Object
Path to the adb binary
16 17 18 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 16 def adb_host @adb_host end |
#adb_path ⇒ Object
Path to the adb binary
13 14 15 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 13 def adb_path @adb_path end |
#devices ⇒ Object
All available devices
19 20 21 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 19 def devices @devices end |
Instance Method Details
#device_available?(serial) ⇒ Boolean
47 48 49 50 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 47 def device_available?(serial) load_all_devices return devices.map(&:serial).include?(serial) end |
#device_avalaible?(serial) ⇒ Boolean
42 43 44 45 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 42 def device_avalaible?(serial) UI.deprecated("Please use `device_available?` instead... This will be removed in a future version of fastlane") device_available?(serial) end |
#host_option ⇒ Object
31 32 33 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 31 def host_option return self.adb_host ? "-H #{adb_host}" : nil end |
#load_all_devices ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 52 def load_all_devices self.devices = [] command = [adb_path.shellescape, host_option, "devices -l"].compact.join(" ") output = Actions.sh(command, log: false) output.split("\n").each do |line| if (result = line.match(/^(\S+)(\s+)(device )/)) self.devices << AdbDevice.new(serial: result[1]) end end self.devices end |
#trigger(command: nil, serial: nil) ⇒ Object
Run a certain action
36 37 38 39 40 |
# File 'fastlane/lib/fastlane/helper/adb_helper.rb', line 36 def trigger(command: nil, serial: nil) android_serial = serial != "" ? "ANDROID_SERIAL=#{serial}" : nil command = [android_serial, adb_path.shellescape, host_option, command].compact.join(" ").strip Action.sh(command) end |