Set ANDROID_HOME in test_gradle_bench.py

This env var is required. Do it in script so that
no prior setup is needed to run this script.

Change-Id: Ieaedc6c88a82e308610cee3460a62e34400f134f
diff --git a/tools/gradle.py b/tools/gradle.py
index eff949a..862dd57 100755
--- a/tools/gradle.py
+++ b/tools/gradle.py
@@ -58,41 +58,41 @@
   EnsureGradle()
   EnsureShadow()
 
-def RunGradleIn(gradleCmd, args, cwd, throw_on_failure=True):
+def RunGradleIn(gradleCmd, args, cwd, throw_on_failure=True, env=None):
   EnsureDeps()
   cmd = [gradleCmd]
   cmd.extend(args)
   utils.PrintCmd(cmd)
   with utils.ChangedWorkingDirectory(cwd):
-    return_value = subprocess.call(cmd)
+    return_value = subprocess.call(cmd, env=env)
     if throw_on_failure and return_value != 0:
       raise Exception('Failed to execute gradle')
     return return_value
 
-def RunGradleWrapperIn(args, cwd, throw_on_failure=True):
-  return RunGradleIn('./gradlew', args, cwd, throw_on_failure)
+def RunGradleWrapperIn(args, cwd, throw_on_failure=True, env=None):
+  return RunGradleIn('./gradlew', args, cwd, throw_on_failure, env=env)
 
-def RunGradle(args, throw_on_failure=True):
-  return RunGradleIn(GRADLE, args, utils.REPO_ROOT, throw_on_failure)
+def RunGradle(args, throw_on_failure=True, env=None):
+  return RunGradleIn(GRADLE, args, utils.REPO_ROOT, throw_on_failure, env=env)
 
-def RunGradleExcludeDeps(args, throw_on_failure=True):
+def RunGradleExcludeDeps(args, throw_on_failure=True, env=None):
   EnsureDeps()
   args.append('-Pexclude_deps')
-  return RunGradle(args, throw_on_failure)
+  return RunGradle(args, throw_on_failure, env=env)
 
-def RunGradleInGetOutput(gradleCmd, args, cwd):
+def RunGradleInGetOutput(gradleCmd, args, cwd, env=None):
   EnsureDeps()
   cmd = [gradleCmd]
   cmd.extend(args)
   utils.PrintCmd(cmd)
   with utils.ChangedWorkingDirectory(cwd):
-    return subprocess.check_output(cmd)
+    return subprocess.check_output(cmd, env=env)
 
-def RunGradleWrapperInGetOutput(args, cwd):
-  return RunGradleInGetOutput('./gradlew', args, cwd)
+def RunGradleWrapperInGetOutput(args, cwd, env=None):
+  return RunGradleInGetOutput('./gradlew', args, cwd, env=env)
 
-def RunGradleGetOutput(args):
-  return RunGradleInGetOutput(GRADLE, args, utils.REPO_ROOT)
+def RunGradleGetOutput(args, env=None):
+  return RunGradleInGetOutput(GRADLE, args, utils.REPO_ROOT, env=env)
 
 def Main():
   RunGradle(sys.argv[1:])
diff --git a/tools/test_gradle_benchmarks.py b/tools/test_gradle_benchmarks.py
index e843753..6720c4a 100755
--- a/tools/test_gradle_benchmarks.py
+++ b/tools/test_gradle_benchmarks.py
@@ -42,6 +42,7 @@
   moduleName = ""
   buildCommand = ""
   cleanCommand = ""
+  env = {}
 
   def __init__(self, displayName, benchmarkDir, moduleName, buildCommand, cleanCommand):
     self.displayName = displayName
@@ -50,6 +51,9 @@
     self.moduleName = moduleName
     self.buildCommand = buildCommand
     self.cleanCommand = cleanCommand
+    self.env = os.environ.copy()
+    self.env["ANDROID_HOME"] = os.path.join(utils.REPO_ROOT, 'third_party', 'benchmarks',
+                                            'android-sdk')
 
   def RunGradle(self, command, tool, desugarMode):
 
@@ -72,7 +76,7 @@
 
     args.extend(command)
 
-    return gradle.RunGradleWrapperInGetOutput(args, self.appPath)
+    return gradle.RunGradleWrapperInGetOutput(args, self.appPath, env=self.env)
 
   def Build(self, tool, desugarMode):
     return self.RunGradle(self.buildCommand, tool, desugarMode)