Minor updates to startup scripts

Change-Id: I397dfd95f3410d9285a50e221e560d3a0f7bcdac
diff --git a/tools/startup/relayout.py b/tools/startup/relayout.py
index 0ace441..fee91aa 100755
--- a/tools/startup/relayout.py
+++ b/tools/startup/relayout.py
@@ -11,11 +11,14 @@
 sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 
 import apk_masseur
+import apk_utils
 import extractmarker
 import toolhelper
 import utils
 import zip_utils
 
+LOWEST_SUPPORTED_MIN_API = 21 # Android L (native multi dex)
+
 def parse_options(argv):
   result = argparse.ArgumentParser(
       description='Relayout a given APK using a startup profile.')
@@ -63,32 +66,23 @@
     return '~~L8' in marker
   return options.desugared_library == 'true'
 
-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 main(argv):
   (options, args) = parse_options(argv)
   with utils.TempDir() as temp:
     dex = os.path.join(temp, 'dex.zip')
     d8_args = [
-        '--min-api', str(get_min_api(options.apk)),
+        '--min-api',
+        str(max(apk_utils.get_min_api(options.apk), LOWEST_SUPPORTED_MIN_API)),
         '--output', dex,
+        '--startup-profile', options.profile,
         '--no-desugaring',
         '--release']
     dex_to_relayout, desugared_library_dex = get_dex_to_relayout(options, temp)
     d8_args.extend(dex_to_relayout)
-    extra_args = ['-Dcom.android.tools.r8.startup.profile=%s' % options.profile]
     toolhelper.run(
         'd8',
         d8_args,
         build=not options.no_build,
-        extra_args=extra_args,
         main='com.android.tools.r8.D8')
     if desugared_library_dex is not None:
       dex_files = [name for name in \