class FIR::Parser::Apk
Public Class Methods
new(path)
click to toggle source
# File lib/fir/util/parser/apk.rb, line 9 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 20 def basic_info @basic_info ||= { type: 'android', name: fetch_label, identifier: @apk.manifest.package_name, build: @apk.manifest.version_code.to_s, version: @apk.manifest.version_name.to_s } @basic_info.reject! { |_k, v| v.nil? } @basic_info end
fetch_label()
click to toggle source
# File lib/fir/util/parser/apk.rb, line 39 def fetch_label @apk.label rescue NoMethodError nil end
full_info(options)
click to toggle source
# File lib/fir/util/parser/apk.rb, line 14 def full_info(options) basic_info[:icons] = tmp_icons if options.fetch(:full_info, false) 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 33 def tmp_icons @apk.icon.map { |_, data| generate_tmp_icon(data, :apk) } rescue StandardError [] end