| Index: build/android/incremental_install/installer.py
|
| diff --git a/build/android/incremental_install/installer.py b/build/android/incremental_install/installer.py
|
| index 421318cf3937073fda112c9e591633cc9ad09604..6c429118a018554ff5ce0122191ec9f060079da6 100755
|
| --- a/build/android/incremental_install/installer.py
|
| +++ b/build/android/incremental_install/installer.py
|
| @@ -86,7 +86,8 @@ def Uninstall(device, package, enable_device_cache=False):
|
|
|
| def Install(device, apk, split_globs=None, native_libs=None, dex_files=None,
|
| enable_device_cache=False, use_concurrency=True,
|
| - show_proguard_warning=False, permissions=()):
|
| + show_proguard_warning=False, permissions=(),
|
| + allow_downgrade=True):
|
| """Installs the given incremental apk and all required supporting files.
|
|
|
| Args:
|
| @@ -119,9 +120,11 @@ def Install(device, apk, split_globs=None, native_libs=None, dex_files=None,
|
| for split_glob in split_globs:
|
| splits.extend((f for f in glob.glob(split_glob)))
|
| device.InstallSplitApk(apk, splits, reinstall=True,
|
| - allow_cached_props=True, permissions=permissions)
|
| + allow_cached_props=True, permissions=permissions,
|
| + allow_downgrade=allow_downgrade)
|
| else:
|
| - device.Install(apk, reinstall=True, permissions=permissions)
|
| + device.Install(apk, reinstall=True, permissions=permissions,
|
| + allow_downgrade=allow_downgrade)
|
| install_timer.Stop(log=False)
|
|
|
| # Push .so and .dex files to the device (if they have changed).
|
| @@ -272,6 +275,12 @@ def main():
|
| default=0,
|
| action='count',
|
| help='Verbose level (multiple times for more)')
|
| + parser.add_argument('--disable-downgrade',
|
| + action='store_false',
|
| + default=True,
|
| + dest='allow_downgrade',
|
| + help='Disable install of apk with lower version number'
|
| + 'than the version already on the device.')
|
|
|
| args = parser.parse_args()
|
|
|
| @@ -300,7 +309,8 @@ def main():
|
| 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)
|
| + show_proguard_warning=args.show_proguard_warning,
|
| + allow_downgrade=args.allow_downgrade)
|
|
|
|
|
| if __name__ == '__main__':
|
|
|