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

Unified Diff: build/android/provision_devices.py

Issue 1960363002: Change provision_devices.py to disable verity for remove webview on M (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits Created 4 years, 7 months 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/provision_devices.py
diff --git a/build/android/provision_devices.py b/build/android/provision_devices.py
index 8c21f97ef200987db3d3432e4f26da2b67004d19..3d5ad7423bf8fb7521b755ad4a5bb1564668d836 100755
--- a/build/android/provision_devices.py
+++ b/build/android/provision_devices.py
@@ -295,15 +295,26 @@ def SetProperties(device, options):
check_return=True)
if options.remove_system_webview:
- if device.HasRoot():
- # This is required, e.g., to replace the system webview on a device.
- device.adb.Remount()
- device.RunShellCommand(['stop'], check_return=True)
- device.RunShellCommand(['rm', '-rf'] + _SYSTEM_WEBVIEW_PATHS,
- check_return=True)
- device.RunShellCommand(['start'], check_return=True)
+ if any(device.PathExists(p) for p in _SYSTEM_WEBVIEW_PATHS):
+ logging.info('System WebView exists and needs to be removed')
+ if device.HasRoot():
+ # Disabled Marshmallow's Verity security feature
+ if device.build_version_sdk >= version_codes.MARSHMALLOW:
+ device.adb.DisableVerity()
+ device.Reboot()
+ device.WaitUntilFullyBooted()
+ device.EnableRoot()
+
+ # This is required, e.g., to replace the system webview on a device.
+ device.adb.Remount()
+ device.RunShellCommand(['stop'], check_return=True)
+ device.RunShellCommand(['rm', '-rf'] + _SYSTEM_WEBVIEW_PATHS,
+ check_return=True)
+ device.RunShellCommand(['start'], check_return=True)
+ else:
+ logging.warning('Cannot remove system webview from a non-rooted device')
else:
- logging.warning('Cannot remove system webview from a non-rooted device')
+ logging.info('System WebView already removed')
# Some device types can momentarily disappear after setting properties.
device.adb.WaitForDevice()
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698