Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2088)

Unified Diff: build/android/incremental_install/installer.py

Issue 1483683002: GN(android): Use list of libraries rather than native_lib_dir in all places (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review coments Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/incremental_install/create_install_script.py ('k') | build/config/android/internal_rules.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/incremental_install/installer.py
diff --git a/build/android/incremental_install/installer.py b/build/android/incremental_install/installer.py
index 54fb73ef4fda461236022130390c0934c8c504a4..e418cdb0e695ed4a997dbcd9afba091c98d0cc47 100755
--- a/build/android/incremental_install/installer.py
+++ b/build/android/incremental_install/installer.py
@@ -11,7 +11,6 @@ import glob
import logging
import os
import posixpath
-import shutil
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir))
@@ -65,7 +64,7 @@ def Uninstall(device, package):
logging.info('Uninstall took %s seconds.', main_timer.GetDelta())
-def Install(device, apk, split_globs=None, lib_dir=None, dex_files=None,
+def Install(device, apk, split_globs=None, native_libs=None, dex_files=None,
enable_device_cache=True, use_concurrency=True,
show_proguard_warning=False):
"""Installs the given incremental apk and all required supporting files.
@@ -74,7 +73,7 @@ def Install(device, apk, split_globs=None, lib_dir=None, dex_files=None,
device: A DeviceUtils instance.
apk: The path to the apk, or an ApkHelper instance.
split_globs: Glob patterns for any required apk splits (optional).
- lib_dir: Directory containing the app's native libraries (optional).
+ native_libs: List of app's native libraries (optional).
dex_files: List of .dex.jar files that comprise the app's Dalvik code.
enable_device_cache: Whether to enable on-device caching of checksums.
use_concurrency: Whether to speed things up using multiple threads.
@@ -105,11 +104,14 @@ def Install(device, apk, split_globs=None, lib_dir=None, dex_files=None,
# Push .so and .dex files to the device (if they have changed).
def do_push_files():
- if lib_dir:
+ if native_libs:
push_native_timer.Start()
- device_lib_dir = posixpath.join(device_incremental_dir, 'lib')
- device.PushChangedFiles([(lib_dir, device_lib_dir)],
- delete_device_stale=True)
+ with build_utils.TempDir() as temp_dir:
+ device_lib_dir = posixpath.join(device_incremental_dir, 'lib')
+ for path in native_libs:
+ os.symlink(path, os.path.join(temp_dir, os.path.basename(path)))
+ device.PushChangedFiles([(temp_dir, device_lib_dir)],
+ delete_device_stale=True)
push_native_timer.Stop(log=False)
if dex_files:
@@ -121,7 +123,7 @@ def Install(device, apk, split_globs=None, lib_dir=None, dex_files=None,
# Ensure no two files have the same name.
transformed_names = _TransformDexPaths(dex_files)
for src_path, dest_name in zip(dex_files, transformed_names):
- shutil.copyfile(src_path, os.path.join(temp_dir, dest_name))
+ os.symlink(src_path, os.path.join(temp_dir, dest_name))
device.PushChangedFiles([(temp_dir, device_dex_dir)],
delete_device_stale=True)
push_dex_timer.Stop(log=False)
@@ -201,10 +203,14 @@ def main():
dest='splits',
help='A glob matching the apk splits. '
'Can be specified multiple times.')
- parser.add_argument('--lib-dir',
- help='Path to native libraries directory.')
- parser.add_argument('--dex-files',
- help='List of dex files to push.',
+ parser.add_argument('--native_lib',
+ dest='native_libs',
+ help='Path to native library (repeatable)',
+ action='append',
+ default=[])
+ parser.add_argument('--dex-file',
+ dest='dex_files',
+ help='Path to dex files (repeatable)',
action='append',
default=[])
parser.add_argument('-d', '--device', dest='device',
@@ -270,7 +276,7 @@ def main():
if args.uninstall:
Uninstall(device, apk.GetPackageName())
else:
- Install(device, apk, split_globs=args.splits, lib_dir=args.lib_dir,
+ Install(device, apk, split_globs=args.splits, native_libs=args.native_libs,
dex_files=args.dex_files, enable_device_cache=args.cache,
use_concurrency=args.threading,
show_proguard_warning=args.show_proguard_warning)
« no previous file with comments | « build/android/incremental_install/create_install_script.py ('k') | build/config/android/internal_rules.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698