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

This commit is contained in:
Tao Bao
2019-07-22 21:32:46 +00:00
committed by Android (Google) Code Review
4 changed files with 7 additions and 7 deletions

View File

@@ -3609,7 +3609,7 @@ endif
ifeq ($(build_otatools_package),true) ifeq ($(build_otatools_package),true)
INTERNAL_OTATOOLS_MODULES := \ INTERNAL_OTATOOLS_MODULES := \
aapt \ aapt2 \
append2simg \ append2simg \
avbtool \ avbtool \
blk_alloc_to_base_fs \ blk_alloc_to_base_fs \

View File

@@ -37,7 +37,7 @@ python_library_host {
// Only the tools that are referenced directly are listed as required modules. For example, // 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']. // `avbtool` is not here, as the script always uses the one from info_dict['avb_avbtool'].
required: [ required: [
"aapt", "aapt2",
"boot_signer", "boot_signer",
"brotli", "brotli",
"bsdiff", "bsdiff",

View File

@@ -213,7 +213,7 @@ class APK(object):
self.certs = frozenset(out) self.certs = frozenset(out)
def ReadManifest(self, full_filename): def ReadManifest(self, full_filename):
p = common.Run(["aapt", "dump", "xmltree", full_filename, p = common.Run(["aapt2", "dump", "xmltree", full_filename, "--file",
"AndroidManifest.xml"], "AndroidManifest.xml"],
stdout=subprocess.PIPE) stdout=subprocess.PIPE)
manifest, err = p.communicate() manifest, err = p.communicate()

View File

@@ -1048,7 +1048,7 @@ def GetKeyPasswords(keylist):
def GetMinSdkVersion(apk_name): def GetMinSdkVersion(apk_name):
"""Gets the minSdkVersion declared in the APK. """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. This can be both a decimal number (API Level) or a codename.
Args: Args:
@@ -1061,12 +1061,12 @@ def GetMinSdkVersion(apk_name):
ExternalError: On failing to obtain the min SDK version. ExternalError: On failing to obtain the min SDK version.
""" """
proc = Run( proc = Run(
["aapt", "dump", "badging", apk_name], stdout=subprocess.PIPE, ["aapt2", "dump", "badging", apk_name], stdout=subprocess.PIPE,
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
stdoutdata, stderrdata = proc.communicate() stdoutdata, stderrdata = proc.communicate()
if proc.returncode != 0: if proc.returncode != 0:
raise ExternalError( 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)) proc.returncode, stdoutdata, stderrdata))
for line in stdoutdata.split("\n"): for line in stdoutdata.split("\n"):
@@ -1074,7 +1074,7 @@ def GetMinSdkVersion(apk_name):
m = re.match(r'sdkVersion:\'([^\']*)\'', line) m = re.match(r'sdkVersion:\'([^\']*)\'', line)
if m: if m:
return m.group(1) 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): def GetMinSdkVersionInt(apk_name, codename_to_api_level_map):