Index: build/android/adb_install_apk.py |
diff --git a/build/android/adb_install_apk.py b/build/android/adb_install_apk.py |
index 355b9635ef1ca67b6e8a25ca4a367defd6ea6858..db2c62ce48e8eb91243a17c354c9494ad0e1152a 100755 |
--- a/build/android/adb_install_apk.py |
+++ b/build/android/adb_install_apk.py |
@@ -10,27 +10,24 @@ import os |
import sys |
from pylib import android_commands |
-from pylib import test_options_parser |
+from pylib import apk_info |
from pylib import constants |
+from pylib import test_options_parser |
-def InstallApk(args): |
- options, device = args |
- apk_path = os.path.join(os.environ['CHROME_SRC'], |
- 'out', options.build_type, |
- 'apks', options.apk) |
+def _InstallApk(args): |
+ apk_path, apk_package, device = args |
result = android_commands.AndroidCommands(device=device).ManagedInstall( |
- apk_path, False, options.apk_package) |
+ apk_path, False, apk_package) |
print '----- Installed on %s -----' % device |
print result |
def main(argv): |
parser = optparse.OptionParser() |
- test_options_parser.AddBuildTypeOption(parser) |
test_options_parser.AddInstallAPKOption(parser) |
options, args = parser.parse_args(argv) |
- |
+ test_options_parser.ValidateInstallAPKOption(parser, options) |
if len(args) > 1: |
raise Exception('Error: Unknown argument:', args[1:]) |
@@ -38,9 +35,14 @@ def main(argv): |
if not devices: |
raise Exception('Error: no connected devices') |
+ if not options.apk_package: |
+ options.apk_package = apk_info.GetPackageNameForApk(options.apk) |
+ |
pool = multiprocessing.Pool(len(devices)) |
- # Send a tuple (options, device) per instance of DeploySingleDevice. |
- pool.map(InstallApk, zip([options] * len(devices), devices)) |
+ # Send a tuple (apk_path, apk_package, device) per device. |
+ pool.map(_InstallApk, zip([options.apk] * len(devices), |
+ [options.apk_package] * len(devices), |
+ devices)) |
if __name__ == '__main__': |