Merge "Clean up noisy error log in find-shareduid-violation.py"
This commit is contained in:
commit
50b4b395bc
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue