class AndroidCLI
Finds Android SDK ID
@author Thys Ballard Here <tballard@ishoutout.net>
Public Class Methods
getCMD()
click to toggle source
# File lib/android-cli.rb, line 24 def self.getCMD raise "Android not installed" unless installed? return "#{getSDKPath}/android" end
getSDKPath()
click to toggle source
# File lib/android-cli.rb, line 13 def self.getSDKPath return File.dirname(`which android`.strip) if @@sdkPath.nil? @@sdkPath end
installed?()
click to toggle source
Determines if android is installed @return BOOLEAN
# File lib/android-cli.rb, line 20 def self.installed? return system("which #{getSDKPath}/android") end
listTargets()
click to toggle source
Runs`android list targets`
@return STDOUT ‘android list targets`
# File lib/android-cli.rb, line 32 def self.listTargets `#{getCMD} list targets` end
searchTargets(targetString)
click to toggle source
Determines the Android SDK ID
Searches the STDOUT of ‘android list targets` for specified Android target human-readable string
@param [String] target human-readable string @return [Integer, nil] The android target id or nil if none could be found
# File lib/android-cli.rb, line 43 def self.searchTargets(targetString) matches = /id: ([0-9]+) or "#{targetString}"/.match(AndroidCLI.listTargets) return nil if matches.nil? return matches.captures[0].to_i end
setSDKPath(path)
click to toggle source
# File lib/android-cli.rb, line 9 def self.setSDKPath(path) @@sdkPath = path end
updateProject(targetId)
click to toggle source
Runs ‘android update project`
@param [Integer] target target ID from android list targets @return [Boolean] did it update the project successfully
# File lib/android-cli.rb, line 56 def self.updateProject(targetId) system("#{getCMD} update project -p . --subprojects --target #{targetId}") end
updateProjectFromString(targetStr)
click to toggle source
Updates a project based in a human readable target
@param [String] target target string from android list targets @return [Boolean] did it update the project successfully
# File lib/android-cli.rb, line 64 def self.updateProjectFromString(targetStr) targetId = AndroidCLI.searchTargets(targetStr) return false if targetId.nil? return AndroidCLI.updateProject(targetId) end