class FIR::Parser::Apk

Public Class Methods

new(path) click to toggle source
# File lib/fir/util/parser/apk.rb, line 10
def initialize(path)
  Zip.warn_invalid_date = false
  @apk = ::Android::Apk.new(path)
end

Public Instance Methods

basic_info() click to toggle source
# File lib/fir/util/parser/apk.rb, line 23
def basic_info
  @basic_info ||= {
    type:       'android',
    identifier: @apk.manifest.package_name,
    name:       @apk.label,
    build:      @apk.manifest.version_code.to_s,
    version:    @apk.manifest.version_name.to_s
  }
end
full_info(options) click to toggle source
# File lib/fir/util/parser/apk.rb, line 15
def full_info(options)
  if options.fetch(:full_info, false)
    basic_info.merge!(icons: tmp_icons)
  end

  basic_info
end
tmp_icons() click to toggle source

@apk.icon is a hash, { icon_name: icon_binary_data }

# File lib/fir/util/parser/apk.rb, line 34
def tmp_icons
  begin
    @apk.icon.map { |_, data| generate_tmp_icon(data, :apk) }
  rescue
    []
  end
end