Recompile with correct min-sdk and android.jar
Bug: 123150326
Change-Id: I397f5852cc25b0c1f288945509fdaac15ca2e618
diff --git a/tools/run_on_as_app.py b/tools/run_on_as_app.py
index a74f868..e9b2dcd 100755
--- a/tools/run_on_as_app.py
+++ b/tools/run_on_as_app.py
@@ -78,6 +78,7 @@
'git_repo': 'https://github.com/sgjesse/tachiyomi.git',
'flavor': 'standard',
'releaseTarget': 'app:assembleRelease',
+ 'min_sdk': 16
},
'tivi': {
'app_id': 'app.tivi',
@@ -292,6 +293,10 @@
with open(proguard_config_file) as old:
assert(sum(1 for line in new) > sum(1 for line in old))
+ # Extract min-sdk and target-sdk
+ (min_sdk, compile_sdk) = as_utils.GetMinAndCompileSdk(app, config,
+ checkout_dir, apk_dest)
+
# Now rebuild generated apk.
previous_apk = apk_dest
for i in range(1, options.r8_compilation_steps):
@@ -300,7 +305,7 @@
checkout_dir, 'out', shrinker, 'app-release-{}.apk'.format(i))
RebuildAppWithShrinker(
previous_apk, recompiled_apk_dest, ext_proguard_config_file,
- shrinker)
+ shrinker, min_sdk, compile_sdk)
recompilation_result = {
'apk_dest': recompiled_apk_dest,
'build_status': 'success',
@@ -422,18 +427,24 @@
return (apk_dest, profile_dest_dir, proguard_config_dest)
-def RebuildAppWithShrinker(apk, apk_dest, proguard_config_file, shrinker):
+def RebuildAppWithShrinker(
+ apk, apk_dest, proguard_config_file, shrinker, min_sdk, compile_sdk):
assert 'r8' in shrinker
assert apk_dest.endswith('.apk')
# Compile given APK with shrinker to temporary zip file.
- api = 28 # TODO(christofferqa): Should be the one from build.gradle
- android_jar = os.path.join(utils.REPO_ROOT, utils.ANDROID_JAR.format(api=api))
+ android_jar = os.path.join(
+ utils.REPO_ROOT,
+ utils.ANDROID_JAR.format(api=compile_sdk))
r8_jar = utils.R8LIB_JAR if IsMinifiedR8(shrinker) else utils.R8_JAR
zip_dest = apk_dest[:-4] + '.zip'
- cmd = ['java', '-ea:com.android.tools.r8...', '-cp', r8_jar,
- 'com.android.tools.r8.R8', '--release', '--pg-conf', proguard_config_file,
+ # TODO(christofferqa): Entry point should be CompatProguard if the shrinker
+ # is 'r8'.
+ entry_point = 'com.android.tools.r8.R8'
+
+ cmd = ['java', '-ea:com.android.tools.r8...', '-cp', r8_jar, entry_point,
+ '--release', '--min-api', str(min_sdk), '--pg-conf', proguard_config_file,
'--lib', android_jar, '--output', zip_dest, apk]
utils.PrintCmd(cmd)