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

Commit 82f35504 authored by Jooyung Han's avatar Jooyung Han Committed by Automerger Merge Worker
Browse files

Merge "A custom APEX signing tool with --signing_args" am: 3a615999

Original change: https://android-review.googlesource.com/c/platform/build/+/1974282

Change-Id: If2f0faac03ddb91e584789e95dec715335cd276b
parents 62b51f2e 3a615999
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -102,14 +102,14 @@ class ApexApkSigner(object):
                       ' %s', entry)

    payload_dir, has_signed_content = self.ExtractApexPayloadAndSignContents(
        apk_entries, apk_keys, payload_key)
        apk_entries, apk_keys, payload_key, signing_args)
    if not has_signed_content:
      logger.info('No contents has been signed in %s', self.apex_path)
      return self.apex_path

    return self.RepackApexPayload(payload_dir, payload_key, signing_args)

  def ExtractApexPayloadAndSignContents(self, apk_entries, apk_keys, payload_key):
  def ExtractApexPayloadAndSignContents(self, apk_entries, apk_keys, payload_key, signing_args):
    """Extracts the payload image and signs the containing apk files."""
    if not os.path.exists(self.debugfs_path):
      raise ApexSigningError(
@@ -143,7 +143,12 @@ class ApexApkSigner(object):

    if self.sign_tool:
      logger.info('Signing payload contents in apex %s with %s', self.apex_path, self.sign_tool)
      cmd = [self.sign_tool, '--avbtool', self.avbtool, payload_key, payload_dir]
      # Pass avbtool to the custom signing tool
      cmd = [self.sign_tool, '--avbtool', self.avbtool]
      # Pass signing_args verbatim which will be forwarded to avbtool (e.g. --signing_helper=...)
      if signing_args:
        cmd.extend(['--signing_args', '"{}"'.format(signing_args)])
      cmd.extend([payload_key, payload_dir])
      common.RunAndCheckOutput(cmd)
      has_signed_content = True