From 30a1fa567b3ffeb5be2d014fb4e989392eedf228 Mon Sep 17 00:00:00 2001 From: Jumpei Matsuda Date: Thu, 14 Mar 2024 18:24:01 +0900 Subject: [PATCH] feat & test: Support meta_data from aapt2 output --- lib/android_apk.rb | 29 ++- lib/android_apk/aapt2/dump_badging.rb | 221 ++++++++++++-------- lib/android_apk/error.rb | 18 +- spec/android_apk/aapt2/dump_badging_spec.rb | 57 +++++ spec/android_apk_spec.rb | 32 +-- spec/fixture/meta-tag/include-sdk.apk | Bin 0 -> 69128 bytes spec/fixture/meta-tag/no-meta-tag.apk | Bin 0 -> 18877 bytes 7 files changed, 225 insertions(+), 132 deletions(-) create mode 100644 spec/android_apk/aapt2/dump_badging_spec.rb create mode 100644 spec/fixture/meta-tag/include-sdk.apk create mode 100644 spec/fixture/meta-tag/no-meta-tag.apk diff --git a/lib/android_apk.rb b/lib/android_apk.rb index a2d198c..6fd4c02 100644 --- a/lib/android_apk.rb +++ b/lib/android_apk.rb @@ -19,6 +19,8 @@ require_relative "android_apk/aapt2/dump_badging" require_relative "android_apk/aapt2/dump_resources" +# @!attribute [r] aapt2_badging_result +# @return [AndroidApk::Aapt2::DumpBadging::Result] # @!attribute [r] label # @return [String, NilClass] Return a value which is defined in AndroidManifest.xml. Could be nil. # @!attribute [r] default_icon_path @@ -42,6 +44,10 @@ # @deprecated no longer used # @!attribute [r] icon_path_hash # @return [Hash] Application icon paths for all densities that are human readable names. This value may contains anyapi-v. +# @!attribute [r] app_signature +# @return [AndroidApk::AppSignature] An object contains lineages and certificate fingerprints +# @!attribute [r] meta_data +# @return [Hash] Named hash of meta-data tags in AndroidManifest.xml. Return an empty if none is found. class AndroidApk FALLBACK_DPI = 65_534 ADAPTIVE_ICON_SDK = 26 @@ -56,12 +62,6 @@ def logger end end - NOT_ALLOW_DUPLICATE_TAG_NAMES = %w( - application - sdkVersion - targetSdkVersion - ).freeze - DPI_TO_NAME_MAP = { 120 => "ldpi", 160 => "mdpi", @@ -83,25 +83,20 @@ module Reason extend Forwardable - delegate %i(label default_icon_path test_only test_only? package_name version_code version_name min_sdk_version target_sdk_version icons labels) => :@aapt2_result - - alias icon default_icon_path + attr_reader :aapt2_badging_result, :icon_path_hash, :app_signature - attr_reader :icon_path_hash + delegate %i(label default_icon_path test_only test_only? package_name version_code version_name min_sdk_version target_sdk_version icons labels meta_data) => :@aapt2_badging_result + alias icon default_icon_path alias sdk_version min_sdk_version - # An object contains lineages and certificate fingerprints - # @return [AndroidApk::AppSignature] a signature representation - attr_reader :app_signature - # Do analyze the given apk file. Analyzed apk does not mean *valid*. # # @param [String] filepath a filepath of an apk to be analyzed # @return [AndroidApk] An instance of AndroidApk will be returned if no problem exists while analyzing. # @raise [AndroidApk::ApkFileNotFoundError] if the filepath doesn't exist - # @raise [AndroidApk::UnacceptableApkError] if the apk file is not acceptable by commands like aapt - # @raise [AndroidApk::AndroidManifestValidateError] if the apk contains invalid AndroidManifest.xml but only when we can identify why it's invalid. + # @raise [AndroidApk::Aapt2Error] if the apk file is not acceptable by commands like aapt + # @raise [AndroidApk::InvalidApkError] if the apk contains invalid AndroidManifest.xml but only when we can identify why it's invalid. def self.analyze(filepath) AndroidApk.new( filepath: filepath @@ -114,7 +109,7 @@ def initialize( raise ApkFileNotFoundError, "an apk file is required to analyze." unless File.exist?(filepath) @filepath = filepath - @aapt2_result = Aapt2::DumpBadging.new(apk_filepath: filepath).parse + @aapt2_badging_result = Aapt2::DumpBadging.new(apk_filepath: filepath).parse # It seems the resources in the aapt's output doesn't mean that it's available in resource.arsc icons_in_arsc = ::AndroidApk::ResourceFinder.decode_resource_table( diff --git a/lib/android_apk/aapt2/dump_badging.rb b/lib/android_apk/aapt2/dump_badging.rb index 0bc9f6b..e1db935 100644 --- a/lib/android_apk/aapt2/dump_badging.rb +++ b/lib/android_apk/aapt2/dump_badging.rb @@ -3,77 +3,121 @@ class AndroidApk module Aapt2 class DumpBadging - # @!attribute [r] label - # @return [String, NilClass] Return a value which is defined in AndroidManifest.xml. Could be nil. - # @!attribute [r] default_icon_path - # @return [String] Return a relative path of this apk's icon. This is the real filepath in the apk but not resource-friendly path. - # @!attribute [r] test_only - # @return [Boolean] Check whether or not this apk is a test mode. Return true if an apk is a test apk - # @!attribute [r] package_name - # @return [String] an application's package name which is defined in AndroidManifest - # @!attribute [r] version_code - # @return [String] an application's version code which is defined in AndroidManifest - # @!attribute [r] version_name - # @return [String] an application's version name which is defined in AndroidManifest - # @!attribute [r] min_sdk_version - # @return [String, NilClass] an application's min sdk version. The format is an integer string which is defined in AndroidManifest.xml. Legacy apk may return nil. - # @!attribute [r] target_sdk_version - # @return [String, NilClass] an application's target sdk version. The format is an integer string which is defined in AndroidManifest.xml. Legacy apk may return nil. - # @!attribute [r] labels - # @return [Hash] an application's labels a.k.a application name in available resources. - # @!attribute [r] icons - # @return [Hash] an application's relative icon paths grouped by densities - # @deprecated no longer used + # @!attribute [r] raw_result_lines + # @return [Array] Raw outputs of aapt2 dump badging class Result - attr_reader :label, :default_icon_path, :test_only, :package_name, :version_code, :version_name, :min_sdk_version, :target_sdk_version, :icons, :labels + attr_reader :raw_result_lines - def initialize(variables) - # application info - @label = variables["application-label"] + def initialize(raw_result_lines:, parsed_variables:) + @raw_result_lines = raw_result_lines + @parsed_variables = parsed_variables + end - @default_icon_path = variables["application"]["icon"] - @test_only = variables.key?("testOnly='-1'") + # @return [String, NilClass] Return a value which is defined in AndroidManifest.xml. Could be nil. + def label + @parsed_variables["application-label"] + end - # package + # @return [String] Return a relative path of this apk's icon. This is the real filepath in the apk but not resource-friendly path. + def default_icon_path + @parsed_variables["application"]["icon"] + end - @package_name = variables["package"]["name"] - @version_code = variables["package"]["versionCode"] - @version_name = variables["package"]["versionName"] || "" + # @return [String] an application's package name which is defined in AndroidManifest + def package_name + @parsed_variables["package"]["name"] + end - # platforms - @min_sdk_version = variables["sdkVersion"] - @target_sdk_version = variables["targetSdkVersion"] + # @return [String] an application's version code which is defined in AndroidManifest + def version_code + @parsed_variables["package"]["versionCode"] + end - # icons and labels - @icons = {} # old - @labels = {} + # FIXME: don't return empty but return nil as it is cuz it's valid. + # @return [String] an application's version name which is defined in AndroidManifest or empty + def version_name + @parsed_variables["package"]["versionName"] || "" + end - variables.each_key do |k| - if (m = k.match(/\Aapplication-icon-(\d+)\z/)) - @icons[m[1].to_i] = variables[k] - elsif (m = k.match(/\Aapplication-label-(\S+)\z/)) - @labels[m[1]] = variables[k] - end - end + # @return [String, NilClass] an application's min sdk version. The format is an integer string which is defined in AndroidManifest.xml. Legacy apk may return nil. + def min_sdk_version + @parsed_variables["sdkVersion"] + end + + # @return [String, NilClass] an application's target sdk version. The format is an integer string which is defined in AndroidManifest.xml. Legacy apk may return nil. + def target_sdk_version + @parsed_variables["targetSdkVersion"] + end + + # @return [Boolean] Check whether or not this apk is a test mode. Return true if an apk is a test apk + def test_only + @parsed_variables.key?("testOnly='-1'") end alias test_only? test_only + + # @return [Hash<{String => String}>] A hash whose keys are names of meta-data and values are of them. + def meta_data + return @meta_data if defined?(@meta_data) + + @meta_data = (@parsed_variables["meta-data"] || []).each_with_object({}) do |h, acc| + acc[h["name"]] = h["value"] + end + end + + # @return [Hash] an application's labels a.k.a application name in available resources. + def labels + @parsed_variables["labels"] + end + + # @return [Hash] an application's relative icon paths grouped by densities + # @deprecated no longer used + def icons + @parsed_variables["icons"] + end end + MULTIPLE_ELEMENTS_TAG_NAMES = %w( + meta-data + ).freeze + BOOLEAN_ELEMENT_TAG_NAMES = %w( + testOnly='-1' + application-debuggable + ).freeze + SINGLE_VALUE_ELEMENT_TAG_NAMES = %w( + application + application-label + package + sdkVersion + targetSdkVersion + ).freeze + + NOT_ALLOW_DUPLICATE_TAG_NAMES = %w( + application + sdkVersion + targetSdkVersion + ).freeze + + # @return [String] def self.dump_badging(apk_filepath:) - stdout, stderr, status = Open3.capture3("aapt2", "dump", "badging", apk_filepath) - stdout if status.success? + stdout, stderr, status = Open3.capture3("aapt2", "dump", "badging", "--include-meta-data", apk_filepath) if status.success? stdout else - if stderr.index(/ERROR:?\s/) # : is never required because it's mixed. - # *normally* failed. The output of aapt2 dump is helpful. - # ref: https://cs.android.com/android/platform/superproject/+/master:frameworks/base/tools/aapt/Command.cpp;l=860?q=%22dump%20failed%22%20aapt - raise UnacceptableApkError, "This apk file cannot be analyzed using 'aapt2 dump badging --include-meta-data'. stdout = #{stdout}, stderr = #{stderr}" + if stderr.index(/ERROR:?\s/i) # : is never required because it's mixed. + if stderr.include?("failed opening zip") + raise InvalidApkError, "This apk file is an invalid zip-format or contains no AndroidManifest.xml" + elsif stderr.include?("failed to parse binary AndroidManifest.xml") + raise InvalidApkError, "AndroidManifest.xml seems to be invalid and not decode-able." + else + # *normally* failed. The output of aapt2 dump is helpful. + # ref: https://cs.android.com/android/platform/superproject/+/master:frameworks/base/tools/aapt/Command.cpp;l=860?q=%22dump%20failed%22%20aapt + raise Aapt2Error.new(message: "This apk file cannot be parsed using 'aapt2 dump badging --include-meta-data'", stdout: stdout, stderr: stderr) + end else # unexpectedly failed. This may happen due to the running environment. - raise UnacceptableApkError, "'aapt2 dump badging --include-meta-data' failed due to an unexpected error." + raise Aapt2Error.new(message: "'aapt2 dump badging --include-meta-data' failed due to an unexpected error.", stdout: stdout, stderr: stderr) end end end @@ -81,42 +125,49 @@ def self.dump_badging(apk_filepath:) # @param apk_filepath [String] a path to apk_filepath def initialize(apk_filepath:) @apk_filepath = apk_filepath - @dump_results = self.class.dump_badging(apk_filepath: apk_filepath)&.scrub&.split("\n") end # Parse output of aapt2 command to Hash format # # @return [::AndroidApk::Aapt2::DumpBadging::Result] def parse - vars = {} - results = @dump_results.dup - results.each do |line| - key, value = parse_line(line) - next if key.nil? + return @parse if defined?(@parse) - if vars.key?(key) - reject_illegal_duplicated_key!(key) + raw_result_lines = self.class.dump_badging(apk_filepath: @apk_filepath).scrub.split("\n") - if vars[key].kind_of?(Hash) and value.kind_of?(Hash) - vars[key].merge(value) - else - vars[key] = [vars[key]] unless vars[key].kind_of?(Array) - if value.kind_of?(Array) - vars[key].concat(value) - else + vars = { + "labels" => {}, + "icons" => {}, + "meta-data" => [] + } + + raw_result_lines.each do |line| + key, value = parse_line(line) + + if !(m = key.match(/\Aapplication-icon-(\d+)\z/)).nil? + vars["icons"][m[1].to_i] = value unless value.nil? + elsif !(m = key.match(/\Aapplication-label-(\S+)\z/)).nil? + vars["labels"][m[1]] = value unless value.nil? + else + # noinspection RubyCaseWithoutElseBlockInspection + case key + when *BOOLEAN_ELEMENT_TAG_NAMES + vars[key] = true + when *MULTIPLE_ELEMENTS_TAG_NAMES + if value.kind_of?(Hash) vars[key].push(value) + else + vars[key].push(*value) end + when *SINGLE_VALUE_ELEMENT_TAG_NAMES + reject_illegal_duplicated_key!(key) if vars.key?(key) + + vars[key] = value end - else - vars[key] = if value.nil? || value.kind_of?(Hash) - value - else - value.length > 1 ? value : value[0] - end end end - Result.new(vars) + @parse = Result.new(raw_result_lines: raw_result_lines, parsed_variables: vars) end # workaround for https://code.google.com/p/android/issues/detail?id=160847 @@ -146,25 +197,29 @@ def parse # Parse output of a line of aapt command like `key: values` # - # @param [String, nil] line a line of aapt command. - # @return [[String, Hash], nil] return nil if (see line) is nil. Otherwise the parsed hash will be returned. + # @param [String] line a line of aapt command. + # @return [[String, Hash]] return nil if (see line) is nil. Otherwise the parsed hash will be returned. private def parse_line(line) - return nil if line.nil? + key, values = line.split(":", 2) - info = line.split(":", 2) values = - if info[0].start_with?("application-label") - parse_values_workaround info[1] + if key.start_with?("application-label") + parse_values_workaround(values) else - parse_values info[1] + parse_values(values) end - return info[0], values + + if values.nil? || values.kind_of?(Hash) || values.length > 1 + [key, values] + else + [key, values[0]] + end end # @param [String] key a key of AndroidManifest.xml - # @raise [AndroidManifestValidateError] if a key is found in (see NOT_ALLOW_DUPLICATE_TAG_NAMES) + # @raise [InvalidApkError] if a key is found in (see NOT_ALLOW_DUPLICATE_TAG_NAMES) private def reject_illegal_duplicated_key!(key) - raise AndroidManifestValidateError, key if NOT_ALLOW_DUPLICATE_TAG_NAMES.include?(key) + raise InvalidApkError, "duplicates of #{key} tag in AndroidManifest.xml are invalid." if NOT_ALLOW_DUPLICATE_TAG_NAMES.include?(key) end end end diff --git a/lib/android_apk/error.rb b/lib/android_apk/error.rb index a4172bb..778ee2b 100644 --- a/lib/android_apk/error.rb +++ b/lib/android_apk/error.rb @@ -4,14 +4,24 @@ class AndroidApk class Error < StandardError; end class ApkFileNotFoundError < Error; end - class UnacceptableApkError < Error; end - class AndroidManifestValidateError < Error - def initialize(tag) - super("duplicates of #{tag} tag in AndroidManifest.xml are invalid.") + # @!attribute [r] stdout + # @return [String, nil] Standard output of a command + # @!attribute [r] stderr + # @return [String, nil] Standard error of a command + class Aapt2Error < Error + attr_reader :stdout, :stderr + + def initialize(message:, stdout:, stderr:) + super(message) + @stdout = stdout + @stderr = stderr end end + # This error wIll be thrown if an apk is invalid or contains invalid files. + class InvalidApkError < Error; end + class ApkSignerExecutionError < Error; end class ParsingSignatureError < Error; end end diff --git a/spec/android_apk/aapt2/dump_badging_spec.rb b/spec/android_apk/aapt2/dump_badging_spec.rb new file mode 100644 index 0000000..f5a35f4 --- /dev/null +++ b/spec/android_apk/aapt2/dump_badging_spec.rb @@ -0,0 +1,57 @@ +# frozen_string_literal: true + +describe AndroidApk::Aapt2::DumpBadging do + let(:aapt2) { AndroidApk::Aapt2::DumpBadging.new(apk_filepath: apk_filepath) } + + describe "#parse" do + let(:result) { aapt2.parse } + + context "if invalid sample apk files are given" do + cases = [ + { + filepath: fixture_file("invalid", "no_android_manifest.apk"), + error: AndroidApk::InvalidApkError, + error_message: "This apk file is an invalid zip-format or contains no AndroidManifest.xml" + }, + { + filepath: fixture_file("invalid", "corrupt_manifest.apk"), + error: AndroidApk::InvalidApkError, + error_message: "AndroidManifest.xml seems to be invalid and not decode-able." + }, + { + filepath: fixture_file("invalid", "multi_application_tag.apk"), + error: AndroidApk::InvalidApkError, + error_message: "duplicates of application tag in AndroidManifest.xml are invalid." + }, + ] + + cases.each do |c| + context "for #{c[:filepath]}" do + let(:apk_filepath) { c[:filepath] } + + it { expect { result }.to raise_error(c[:error], c[:error_message]) } + end + end + end + + context "if an apk contains meta-tags" do + let(:apk_filepath) { fixture_file("meta-tag", "include-sdk.apk") } + + it "contains sdk meta data" do + expect(result.meta_data).to eq( + { + "com.deploygate.sdk.version" => "4", + "com.deploygate.sdk.artifact_version" => "4.6.1", + "com.deploygate.sdk.feature_flags" => "31" + } + ) + end + end + + context "if an apk does not contain meta-tags" do + let(:apk_filepath) { fixture_file("meta-tag", "no-meta-tag.apk") } + + it { expect(result.meta_data).to be_empty } + end + end +end diff --git a/spec/android_apk_spec.rb b/spec/android_apk_spec.rb index 2db7e65..e2cd609 100644 --- a/spec/android_apk_spec.rb +++ b/spec/android_apk_spec.rb @@ -26,34 +26,10 @@ end end - context "if invalid sample apk files are given" do - cases = [ - { - filepath: fixture_file("invalid", "no_such_file"), - error: AndroidApk::ApkFileNotFoundError, - }, - { - filepath: fixture_file("invalid", "no_android_manifest.apk"), - error: AndroidApk::UnacceptableApkError, - }, - { - filepath: fixture_file("invalid", "corrupt_manifest.apk"), - error: AndroidApk::UnacceptableApkError, - }, - { - filepath: fixture_file("invalid", "multi_application_tag.apk"), - error: AndroidApk::AndroidManifestValidateError, - error_message: /application/ - }, - ] - - cases.each do |c| - context "for #{c[:filepath]}" do - let(:apk_filepath) { c[:filepath] } - - it { expect { subject }.to raise_error(c[:error], c[:error_message]) } - end - end + context "if a file is not found" do + let(:apk_filepath) { fixture_file("invalid", "no_such_file") } + + it { expect { subject }.to raise_error(AndroidApk::ApkFileNotFoundError) } end context "if valid sample apk files are given" do diff --git a/spec/fixture/meta-tag/include-sdk.apk b/spec/fixture/meta-tag/include-sdk.apk new file mode 100644 index 0000000000000000000000000000000000000000..6f75a09395c2bc90674ff3d8dca126a805785181 GIT binary patch literal 69128 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

9;faZjDNx*EGX} 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 An*aa+ literal 0 HcmV?d00001 diff --git a/spec/fixture/meta-tag/no-meta-tag.apk b/spec/fixture/meta-tag/no-meta-tag.apk new file mode 100644 index 0000000000000000000000000000000000000000..1ffb36be2d47195c1ed132f7632de94c3df9b052 GIT binary patch literal 18877 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 R22LPM2PQoS;F${y3;?A;nbZIP literal 0 HcmV?d00001