Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c1252623 authored by Tao Bao's avatar Tao Bao Committed by android-build-merger
Browse files

Merge "Switch to aapt2 for getting minSdkVersion" into stage-aosp-master am:...

Merge "Switch to aapt2 for getting minSdkVersion" into stage-aosp-master am: fe2a6389 am: 17953e71
am: ee675424

Change-Id: I476e555e42095ea80a60d39bcd4f351aacc271f5
parents a52764f0 ee675424
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3609,7 +3609,7 @@ endif
ifeq ($(build_otatools_package),true)

INTERNAL_OTATOOLS_MODULES := \
  aapt \
  aapt2 \
  append2simg \
  avbtool \
  blk_alloc_to_base_fs \
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ python_library_host {
    // Only the tools that are referenced directly are listed as required modules. For example,
    // `avbtool` is not here, as the script always uses the one from info_dict['avb_avbtool'].
    required: [
        "aapt",
        "aapt2",
        "boot_signer",
        "brotli",
        "bsdiff",
+1 −1
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ class APK(object):
    self.certs = frozenset(out)

  def ReadManifest(self, full_filename):
    p = common.Run(["aapt", "dump", "xmltree", full_filename,
    p = common.Run(["aapt2", "dump", "xmltree", full_filename, "--file",
                    "AndroidManifest.xml"],
                   stdout=subprocess.PIPE)
    manifest, err = p.communicate()
+4 −4
Original line number Diff line number Diff line
@@ -1048,7 +1048,7 @@ def GetKeyPasswords(keylist):
def GetMinSdkVersion(apk_name):
  """Gets the minSdkVersion declared in the APK.

  It calls 'aapt' to query the embedded minSdkVersion from the given APK file.
  It calls 'aapt2' to query the embedded minSdkVersion from the given APK file.
  This can be both a decimal number (API Level) or a codename.

  Args:
@@ -1061,12 +1061,12 @@ def GetMinSdkVersion(apk_name):
    ExternalError: On failing to obtain the min SDK version.
  """
  proc = Run(
      ["aapt", "dump", "badging", apk_name], stdout=subprocess.PIPE,
      ["aapt2", "dump", "badging", apk_name], stdout=subprocess.PIPE,
      stderr=subprocess.PIPE)
  stdoutdata, stderrdata = proc.communicate()
  if proc.returncode != 0:
    raise ExternalError(
        "Failed to obtain minSdkVersion: aapt return code {}:\n{}\n{}".format(
        "Failed to obtain minSdkVersion: aapt2 return code {}:\n{}\n{}".format(
            proc.returncode, stdoutdata, stderrdata))

  for line in stdoutdata.split("\n"):
@@ -1074,7 +1074,7 @@ def GetMinSdkVersion(apk_name):
    m = re.match(r'sdkVersion:\'([^\']*)\'', line)
    if m:
      return m.group(1)
  raise ExternalError("No minSdkVersion returned by aapt")
  raise ExternalError("No minSdkVersion returned by aapt2")


def GetMinSdkVersionInt(apk_name, codename_to_api_level_map):