Minor updates to startup scripts
Change-Id: I397dfd95f3410d9285a50e221e560d3a0f7bcdac
diff --git a/tools/apk_utils.py b/tools/apk_utils.py
index f126f91..1da8d47 100755
--- a/tools/apk_utils.py
+++ b/tools/apk_utils.py
@@ -38,7 +38,8 @@
apk = args[0]
return (options, apk)
-def add_baseline_profile_to_apk(apk, baseline_profile, tmp_dir):
+def add_baseline_profile_to_apk(
+ apk, baseline_profile, baseline_profile_metadata, tmp_dir):
if baseline_profile is None:
return apk
ts = time.time_ns()
@@ -46,8 +47,13 @@
dest_apk_aligned = os.path.join(tmp_dir, 'app-aligned-%s.apk' % ts)
dest_apk_signed = os.path.join(tmp_dir, 'app-signed-%s.apk' % ts)
shutil.copy2(apk, dest_apk)
+ zip_utils.remove_files_from_zip(
+ ['assets/dexopt/baseline.prof', 'assets/dexopt/baseline.profm'], dest_apk)
zip_utils.add_file_to_zip(
baseline_profile, 'assets/dexopt/baseline.prof', dest_apk)
+ if baseline_profile_metadata is not None:
+ zip_utils.add_file_to_zip(
+ baseline_profile_metadata, 'assets/dexopt/baseline.profm', dest_apk)
align(dest_apk, dest_apk_aligned)
sign_with_apksigner(dest_apk_aligned, dest_apk_signed)
return dest_apk_signed
@@ -63,6 +69,15 @@
def default_keystore():
return os.path.join(os.getenv('HOME'), '.android', 'app.keystore')
+def get_min_api(apk):
+ aapt = os.path.join(utils.getAndroidBuildTools(), 'aapt')
+ cmd = [aapt, 'dump', 'badging', apk]
+ stdout = subprocess.check_output(cmd).decode('utf-8').strip()
+ for line in stdout.splitlines():
+ if line.startswith('sdkVersion:\''):
+ return int(line[len('sdkVersion:\''): -1])
+ raise ValueError('Unexpected stdout: %s' % stdout)
+
def sign(unsigned_apk, signed_apk, keystore, quiet=False, logging=True):
utils.Print('Signing (ignore the warnings)', quiet=quiet)
cmd = ['zip', '-d', unsigned_apk, 'META-INF/*']