class AppParser::Apk

Attributes

icons[R]

Public Class Methods

new(file_name) click to toggle source
# File lib/app_parser/apk.rb, line 9
def initialize(file_name)
  @apk = Android::Apk.new(file_name)

  @icons = @apk.icon.each_with_object([]) do |(name, data), obj|
    tempfile = Tempfile.new(File.basename(name))
    tempfile.binmode
    tempfile.write(data)
    tempfile.close # closeしないと画像サイズが取れない
    size = ImageSize.path(tempfile.path).size
    obj << { dimensions: size, file_name: name }
    tempfile.unlink
  end
end

Public Instance Methods

bundle_id() click to toggle source
# File lib/app_parser/apk.rb, line 39
def bundle_id
  @apk.manifest.package_name
end
display_name() click to toggle source
# File lib/app_parser/apk.rb, line 35
def display_name
  @apk.resource.find("@string/app_name")
end
icon_data(file_name) click to toggle source
# File lib/app_parser/apk.rb, line 51
def icon_data(file_name)
  @apk.icon.find { |name, _data| name == file_name }.try(:last)
end
ipad_icons() click to toggle source
# File lib/app_parser/apk.rb, line 59
def ipad_icons
  []
end
iphone_icons() click to toggle source
# File lib/app_parser/apk.rb, line 55
def iphone_icons
  []
end
os() click to toggle source
# File lib/app_parser/apk.rb, line 23
def os
  "android"
end
provisioned_devices() click to toggle source
# File lib/app_parser/apk.rb, line 43
def provisioned_devices
  []
end
provisions_all_devices() click to toggle source
# File lib/app_parser/apk.rb, line 47
def provisions_all_devices
  false
end
version() click to toggle source
# File lib/app_parser/apk.rb, line 27
def version
  @apk.manifest.version_code.to_s
end
version_string() click to toggle source
# File lib/app_parser/apk.rb, line 31
def version_string
  @apk.manifest.version_name
end