diff --git a/tools/chrome_data.py b/tools/chrome_data.py
index 8004656..5dcd41b 100644
--- a/tools/chrome_data.py
+++ b/tools/chrome_data.py
@@ -5,8 +5,7 @@
 import os
 import utils
 
-THIRD_PARTY = os.path.join(utils.REPO_ROOT, 'third_party')
-BASE = os.path.join(THIRD_PARTY, 'chrome')
+BASE = os.path.join(utils.THIRD_PARTY, 'chrome')
 
 INPUT_JARS = [
     'out/Release/gen/chrome/android/monochrome_public_apk/monochrome_public_apk.jar',
diff --git a/tools/gmail_data.py b/tools/gmail_data.py
index ba95450..5149389 100644
--- a/tools/gmail_data.py
+++ b/tools/gmail_data.py
@@ -6,9 +6,8 @@
 import os
 import utils
 
-THIRD_PARTY = os.path.join(utils.REPO_ROOT, 'third_party')
 ANDROID_L_API = '21'
-BASE = os.path.join(THIRD_PARTY, 'gmail')
+BASE = os.path.join(utils.THIRD_PARTY, 'gmail')
 
 V170604_16_BASE = os.path.join(BASE, 'gmail_android_170604.16')
 V170604_16_PREFIX = os.path.join(V170604_16_BASE, 'Gmail_release_unstripped')
@@ -17,7 +16,7 @@
 V180826_15_PREFIX = os.path.join(V180826_15_BASE, 'Gmail_release_unstripped')
 
 # NOTE: We always use android.jar for SDK v25 for now.
-ANDROID_JAR = os.path.join(THIRD_PARTY, 'android_jar', 'lib-v25', 'android.jar')
+ANDROID_JAR = utils.get_android_jar(25)
 
 VERSIONS = {
   '170604.16': {
@@ -48,7 +47,7 @@
       'inputs': ['%s_deploy.jar' % V180826_15_PREFIX],
       'pgconf': [
           '%s_proguard.config' % V180826_15_PREFIX,
-          '%s/proguardsettings/Gmail_proguard.config' % THIRD_PARTY],
+          '%s/proguardsettings/Gmail_proguard.config' % utils.THIRD_PARTY],
       'min-api' : ANDROID_L_API,
     },
     'proguarded' : {
diff --git a/tools/gmscore_data.py b/tools/gmscore_data.py
index e6d7677..44971c1 100644
--- a/tools/gmscore_data.py
+++ b/tools/gmscore_data.py
@@ -6,8 +6,7 @@
 import os
 import utils
 
-THIRD_PARTY = os.path.join(utils.REPO_ROOT, 'third_party')
-BASE = os.path.join(THIRD_PARTY, 'gmscore')
+BASE = os.path.join(utils.THIRD_PARTY, 'gmscore')
 
 V4_BASE = os.path.join(BASE, 'v4')
 V5_BASE = os.path.join(BASE, 'v5')
@@ -27,7 +26,7 @@
 
 # NOTE: we always use android.jar for SDK v25, later we might want to revise it
 #       to use proper android.jar version for each of gmscore version separately.
-ANDROID_JAR = os.path.join(THIRD_PARTY, 'android_jar', 'lib-v25', 'android.jar')
+ANDROID_JAR = utils.get_android_jar(25)
 
 VERSIONS = {
   'v4': {
@@ -113,7 +112,7 @@
       'inputs': ['%s_deploy.jar' % LATEST_PREFIX],
       'pgconf': [
           '%s_proguard.config' % LATEST_PREFIX,
-          '%s/proguardsettings/GmsCore_proguard.config' % THIRD_PARTY],
+          '%s/proguardsettings/GmsCore_proguard.config' % utils.THIRD_PARTY],
       'min-api' : ANDROID_L_API,
     },
     'proguarded' : {
diff --git a/tools/nest_data.py b/tools/nest_data.py
index af3e35a..92435f6 100644
--- a/tools/nest_data.py
+++ b/tools/nest_data.py
@@ -1,19 +1,18 @@
-# Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file
+# Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
 import os
 import utils
 
-THIRD_PARTY = os.path.join(utils.REPO_ROOT, 'third_party')
 ANDROID_L_API = '21'
-BASE = os.path.join(THIRD_PARTY, 'nest')
+BASE = os.path.join(utils.THIRD_PARTY, 'nest')
 
 V20180926_BASE = os.path.join(BASE, 'nest_20180926_7c6cfb')
 
 # NOTE: we always use android.jar for SDK v25, later we might want to revise it
-#       to use proper android.jar version for each of youtube version separately.
-ANDROID_JAR = os.path.join(THIRD_PARTY, 'android_jar', 'lib-v25', 'android.jar')
+#       to use proper android.jar version for each of nest version separately.
+ANDROID_JAR = utils.get_android_jar(25)
 
 VERSIONS = {
   '20180926': {
diff --git a/tools/utils.py b/tools/utils.py
index 3b52e6a..a734ee5 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -16,6 +16,7 @@
 ANDROID_JAR = 'third_party/android_jar/lib-v{api}/android.jar'
 TOOLS_DIR = os.path.abspath(os.path.normpath(os.path.join(__file__, '..')))
 REPO_ROOT = os.path.realpath(os.path.join(TOOLS_DIR, '..'))
+THIRD_PARTY = os.path.join(REPO_ROOT, 'third_party')
 MEMORY_USE_TMP_FILE = 'memory_use.tmp'
 DEX_SEGMENTS_RESULT_PATTERN = re.compile('- ([^:]+): ([0-9]+)')
 BUILD = os.path.join(REPO_ROOT, 'build')
@@ -23,6 +24,7 @@
 GENERATED_LICENSE_DIR = os.path.join(BUILD, 'generatedLicense')
 SRC_ROOT = os.path.join(REPO_ROOT, 'src', 'main', 'java')
 
+
 D8 = 'd8'
 R8 = 'r8'
 R8_SRC = 'sourceJar'
diff --git a/tools/youtube_data.py b/tools/youtube_data.py
index 2e3be27..f2b1772 100644
--- a/tools/youtube_data.py
+++ b/tools/youtube_data.py
@@ -6,9 +6,8 @@
 import os
 import utils
 
-THIRD_PARTY = os.path.join(utils.REPO_ROOT, 'third_party')
 ANDROID_L_API = '21'
-BASE = os.path.join(THIRD_PARTY, 'youtube')
+BASE = os.path.join(utils.THIRD_PARTY, 'youtube')
 
 V12_10_BASE = os.path.join(BASE, 'youtube.android_12.10')
 V12_10_PREFIX = os.path.join(V12_10_BASE, 'YouTubeRelease')
@@ -24,7 +23,7 @@
 
 # NOTE: we always use android.jar for SDK v25, later we might want to revise it
 #       to use proper android.jar version for each of youtube version separately.
-ANDROID_JAR = os.path.join(THIRD_PARTY, 'android_jar', 'lib-v25', 'android.jar')
+ANDROID_JAR = utils.get_android_jar(25)
 
 VERSIONS = {
   '12.10': {
@@ -37,7 +36,7 @@
     'deploy' : {
       'inputs': ['%s_deploy.jar' % V12_10_PREFIX],
       'pgconf': ['%s_proguard.config' % V12_10_PREFIX,
-                 '%s/proguardsettings/YouTubeRelease_proguard.config' % THIRD_PARTY],
+                 '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
       'min-api' : ANDROID_L_API,
     }
     # The 'proguarded' version cannot be handled by D8/R8 because there are
@@ -59,7 +58,7 @@
     'deploy' : {
       'inputs': ['%s_deploy.jar' % V12_17_PREFIX],
       'pgconf': ['%s_proguard.config' % V12_17_PREFIX,
-                 '%s/proguardsettings/YouTubeRelease_proguard.config' % THIRD_PARTY],
+                 '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
       'min-api' : ANDROID_L_API,
     },
     'proguarded' : {
@@ -79,7 +78,7 @@
       'inputs': ['%s_deploy.jar' % V12_22_PREFIX],
       'pgconf': [
           '%s_proguard.config' % V12_22_PREFIX,
-          '%s/proguardsettings/YouTubeRelease_proguard.config' % THIRD_PARTY],
+          '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
       'maindexrules' : [
           os.path.join(V12_22_BASE, 'mainDexClasses.rules'),
           os.path.join(V12_22_BASE, 'main-dex-classes-release.cfg'),
@@ -102,7 +101,7 @@
       'inputs': ['%s_deploy.jar' % V13_37_PREFIX],
       'pgconf': [
           '%s_proguard.config' % V13_37_PREFIX,
-          '%s/proguardsettings/YouTubeRelease_proguard.config' % THIRD_PARTY],
+          '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
       # Build for native multi dex, as Currently R8 cannot meet the main-dex
       # constraints.
       #'maindexrules' : [
