Recompile with correct min-sdk and android.jar
Bug: 123150326
Change-Id: I397f5852cc25b0c1f288945509fdaac15ca2e618
diff --git a/tools/as_utils.py b/tools/as_utils.py
index 93c910e..b4eb396 100644
--- a/tools/as_utils.py
+++ b/tools/as_utils.py
@@ -66,6 +66,44 @@
if (utils.R8_JAR not in line) and (utils.R8LIB_JAR not in line):
f.write(line)
+def GetMinAndCompileSdk(app, config, checkout_dir, apk_reference):
+ app_module = config.get('app_module', 'app')
+ build_gradle_file = os.path.join(checkout_dir, app_module, 'build.gradle')
+ assert os.path.isfile(build_gradle_file), (
+ 'Expected to find build.gradle file at {}'.format(build_gradle_file))
+
+ compile_sdk = None
+ min_sdks = []
+ target_sdk = None
+
+ with open(build_gradle_file) as f:
+ for line in f.readlines():
+ stripped = line.strip()
+ if stripped.startswith('compileSdkVersion '):
+ assert not compile_sdk
+ compile_sdk = int(stripped[len('compileSdkVersion '):])
+ if stripped.startswith('minSdkVersion '):
+ min_sdks.append(int(stripped[len('minSdkVersion '):]))
+ elif stripped.startswith('targetSdkVersion '):
+ assert not target_sdk
+ target_sdk = int(stripped[len('targetSdkVersion '):])
+
+ if len(min_sdks) == 1:
+ min_sdk = min_sdks[0]
+ else:
+ assert 'min_sdk' in config
+ min_sdk = config.get('min_sdk')
+
+ assert min_sdk, (
+ 'Expected to find `minSdkVersion` in {}'.format(build_gradle_file))
+ assert compile_sdk, (
+ 'Expected to find `compileSdkVersion` in {}'.format(build_gradle_file))
+
+ assert not target_sdk or target_sdk == compile_sdk, (
+ 'Expected `compileSdkVersion` and `targetSdkVersion` to be the same')
+
+ return (min_sdk, compile_sdk)
+
def IsGradleTaskName(x):
# Check that it is non-empty.
if not x: