diff --git a/wlauto/common/android/device.py b/wlauto/common/android/device.py index 2285cf4d..47158b73 100644 --- a/wlauto/common/android/device.py +++ b/wlauto/common/android/device.py @@ -357,13 +357,15 @@ class AndroidDevice(BaseLinuxDevice): # pylint: disable=W0223 else: return self.install_executable(filepath, with_name) - def install_apk(self, filepath, timeout=default_timeout, replace=False): # pylint: disable=W0221 + def install_apk(self, filepath, timeout=default_timeout, replace=False, allow_downgrade=False): # pylint: disable=W0221 self._check_ready() ext = os.path.splitext(filepath)[1].lower() if ext == '.apk': flags = [] if replace: flags.append('-r') # Replace existing APK + if allow_downgrade: + flags.append('-d') # Install the APK even if a newer version is already installed if self.get_sdk_version() >= 23: flags.append('-g') # Grant all runtime permissions self.logger.debug("Replace APK = {}, ADB flags = '{}'".format(replace, ' '.join(flags)))