Merge "Clean up noisy error log in find-shareduid-violation.py"

This commit is contained in:
Treehugger Robot 2019-02-17 04:19:41 +00:00 committed by Gerrit Code Review
commit 50b4b395bc
1 changed files with 17 additions and 5 deletions

View File

@ -28,14 +28,26 @@ else:
product_out = sys.argv[1]
aapt = sys.argv[2]
def make_aapt_cmd(file):
cmds = [aapt + ' dump ' + file + ' --file AndroidManifest.xml',
def execute(cmd):
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = map(lambda b: b.decode('utf-8'), p.communicate())
return p.returncode == 0, out, err
def make_aapt_cmds(file):
return [aapt + ' dump ' + file + ' --file AndroidManifest.xml',
aapt + ' dump xmltree ' + file + ' --file AndroidManifest.xml']
return " || ".join(cmds)
def extract_shared_uid(file):
manifest = subprocess.check_output(make_aapt_cmd(file), shell=True).decode().split('\n')
for l in manifest:
for cmd in make_aapt_cmds(file):
success, manifest, error_msg = execute(cmd)
if success:
break
else:
print(error_msg, file=sys.stderr)
sys.exit()
return None
for l in manifest.split('\n'):
if "sharedUserId" in l:
return l.split('"')[-2]
return None