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]
|
product_out = sys.argv[1]
|
||||||
aapt = sys.argv[2]
|
aapt = sys.argv[2]
|
||||||
|
|
||||||
def make_aapt_cmd(file):
|
def execute(cmd):
|
||||||
cmds = [aapt + ' dump ' + file + ' --file AndroidManifest.xml',
|
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']
|
aapt + ' dump xmltree ' + file + ' --file AndroidManifest.xml']
|
||||||
return " || ".join(cmds)
|
|
||||||
|
|
||||||
def extract_shared_uid(file):
|
def extract_shared_uid(file):
|
||||||
manifest = subprocess.check_output(make_aapt_cmd(file), shell=True).decode().split('\n')
|
for cmd in make_aapt_cmds(file):
|
||||||
for l in manifest:
|
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:
|
if "sharedUserId" in l:
|
||||||
return l.split('"')[-2]
|
return l.split('"')[-2]
|
||||||
return None
|
return None
|
||||||
|
|
Loading…
Reference in New Issue