Add android_sdk to third_party to be used by golem when benchmarking
Right now the runners cannot build the target because they are missing
the android sdk.
Change-Id: I5d8ba65e1b1090628957c7285dc26edb2bd69e67
diff --git a/third_party/android_sdk.tar.gz.sha1 b/third_party/android_sdk.tar.gz.sha1
new file mode 100644
index 0000000..ebc2c1d
--- /dev/null
+++ b/third_party/android_sdk.tar.gz.sha1
@@ -0,0 +1 @@
+fdbcfa08e6a1772bc9569bf706819a95a15bc3a0
\ No newline at end of file
diff --git a/tools/apk_masseur.py b/tools/apk_masseur.py
index 4b13a32..0edd032 100755
--- a/tools/apk_masseur.py
+++ b/tools/apk_masseur.py
@@ -88,7 +88,7 @@
aligned_apk = os.path.join(temp, 'aligned.apk')
zipalign_path = (
'zipalign' if 'build_tools' in os.environ.get('PATH')
- else os.path.join(utils.ANDROID_BUILD_TOOLS, 'zipalign'))
+ else os.path.join(utils.getAndroidBuildTools(), 'zipalign'))
cmd = [
zipalign_path,
'-f',
diff --git a/tools/apk_utils.py b/tools/apk_utils.py
index 41c80c2..86f1fe8 100644
--- a/tools/apk_utils.py
+++ b/tools/apk_utils.py
@@ -26,7 +26,7 @@
def sign_with_apksigner(
unsigned_apk, signed_apk, keystore, password='android', quiet=False):
cmd = [
- os.path.join(utils.ANDROID_BUILD_TOOLS, 'apksigner'),
+ os.path.join(utils.getAndroidBuildTools(), 'apksigner'),
'sign',
'-v',
'--ks', keystore,
diff --git a/tools/download_all_benchmark_dependencies.py b/tools/download_all_benchmark_dependencies.py
index 43ec0ab..2717c45 100755
--- a/tools/download_all_benchmark_dependencies.py
+++ b/tools/download_all_benchmark_dependencies.py
@@ -13,9 +13,8 @@
def Main():
gradle.RunGradle(BUILD_TARGETS)
- # Download opensource_apps and place in build.
utils.DownloadFromX20(utils.OPENSOURCE_APPS_SHA_FILE)
-
+ utils.DownloadFromX20(utils.ANDROID_SDK + '.tar.gz.sha1')
if __name__ == '__main__':
sys.exit(Main())
diff --git a/tools/golem.py b/tools/golem.py
index a535133..6552145 100755
--- a/tools/golem.py
+++ b/tools/golem.py
@@ -9,6 +9,7 @@
LINKED_THIRD_PARTY_DIRECTORIES = [
'android_jar',
+ 'android_sdk',
'benchmarks',
'framework',
'gmail',
diff --git a/tools/run_on_as_app.py b/tools/run_on_as_app.py
index 998c9ef..fef337a 100755
--- a/tools/run_on_as_app.py
+++ b/tools/run_on_as_app.py
@@ -185,7 +185,7 @@
cmd = [jdk.GetJavaExecutable(), '-ea', '-jar', r8_jar, 'extractmarker', apk]
elif os.path.isfile(r8lib_jar):
cmd = [jdk.GetJavaExecutable(), '-ea', '-cp', r8lib_jar,
- 'com.android.tools.r8.SwissArmyKnife', 'extractmarker', apk]
+ 'com.android.tools.r8.ExtractMarker', apk]
else:
script = os.path.join(utils.TOOLS_DIR, 'extractmarker.py')
cmd = ['python', script, apk]
@@ -452,7 +452,7 @@
app, config, checkout_dir, proguard_config_dest)
env = {}
- env['ANDROID_HOME'] = utils.ANDROID_HOME
+ env['ANDROID_HOME'] = utils.getAndroidHome()
env['JAVA_OPTS'] = '-ea:com.android.tools.r8...'
releaseTarget = config.get('releaseTarget')
@@ -774,6 +774,9 @@
if os.path.exists(WORKING_DIR):
shutil.rmtree(WORKING_DIR)
shutil.copytree(utils.OPENSOURCE_APPS_FOLDER, WORKING_DIR)
+ os.environ[utils.ANDROID_HOME_ENVIROMENT_NAME] = os.path.join(
+ utils.ANDROID_SDK)
+ os.environ[utils.ANDROID_TOOLS_VERSION_ENVIRONMENT_NAME] = '28.0.3'
if not os.path.exists(WORKING_DIR):
os.makedirs(WORKING_DIR)
diff --git a/tools/utils.py b/tools/utils.py
index f2df0ed..12535be 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -21,6 +21,7 @@
TOOLS_DIR = defines.TOOLS_DIR
REPO_ROOT = defines.REPO_ROOT
THIRD_PARTY = defines.THIRD_PARTY
+ANDROID_SDK = os.path.join(THIRD_PARTY, 'android_sdk')
MEMORY_USE_TMP_FILE = 'memory_use.tmp'
DEX_SEGMENTS_RESULT_PATTERN = re.compile('- ([^:]+): ([0-9]+)')
BUILD = os.path.join(REPO_ROOT, 'build')
@@ -69,13 +70,17 @@
'third_party/opensource_apps.tar.gz.sha1')
OPENSOURCE_APPS_FOLDER = os.path.join(REPO_ROOT, 'third_party/opensource_apps/')
-
-# Common environment setup.
+ANDROID_HOME_ENVIROMENT_NAME = "ANDROID_HOME"
+ANDROID_TOOLS_VERSION_ENVIRONMENT_NAME = "ANDROID_TOOLS_VERSION"
USER_HOME = os.path.expanduser('~')
-ANDROID_HOME = os.path.join(USER_HOME, 'Android', 'Sdk')
-ANDROID_BUILD_TOOLS_VERSION = '28.0.3'
-ANDROID_BUILD_TOOLS = os.path.join(
- ANDROID_HOME, 'build-tools', ANDROID_BUILD_TOOLS_VERSION)
+
+def getAndroidHome():
+ return os.environ.get(
+ ANDROID_HOME_ENVIROMENT_NAME, os.path.join(USER_HOME, 'Android', 'Sdk'))
+
+def getAndroidBuildTools():
+ version = os.environ.get(ANDROID_TOOLS_VERSION_ENVIRONMENT_NAME, '28.0.3')
+ return os.path.join(getAndroidHome(), 'build-tools', version)
def Print(s, quiet=False):
if quiet:
@@ -270,10 +275,9 @@
PrintCmd(cmd)
subprocess.check_call(cmd)
-def create_archive(name):
- return create_archive(name, [name])
-
-def create_archive(name, sources):
+def create_archive(name, sources=None):
+ if not sources:
+ sources = [name]
tarname = '%s.tar.gz' % name
with tarfile.open(tarname, 'w:gz') as tar:
for source in sources: