Introduce startIsolatedProcess private API in ActivityManager
The new API spawns a isolated process, using a custom uid, entrypoint and abi. Such API is used by the WebViewFactory to spawn its unpriviledged but trusted process (hence the fixed uid) which rewrites the rerlo file on boot / when an update occurs. Since both the ActivityManager service and the WebViewUpdate service live in the SystemServer their calls be dispatched locally and no binder interface needs to be exposed for the new startIsolatedProcess API. BUG:16403706 Change-Id: I327b59735c12698595e0dbcc4da5d759c9103b0a
This commit is contained in:
@@ -424,9 +424,6 @@ public final class SystemServer {
|
||||
Slog.i(TAG, "WebView Update Service");
|
||||
ServiceManager.addService("webviewupdate", new WebViewUpdateService(context));
|
||||
|
||||
Slog.i(TAG, "WebViewFactory preparation");
|
||||
WebViewFactory.prepareWebViewInSystemServer();
|
||||
|
||||
Slog.i(TAG, "Scheduling Policy");
|
||||
ServiceManager.addService("scheduling_policy", new SchedulingPolicyService());
|
||||
|
||||
@@ -1073,6 +1070,10 @@ public final class SystemServer {
|
||||
} catch (Throwable e) {
|
||||
reportWtf("observing native crashes", e);
|
||||
}
|
||||
|
||||
Slog.i(TAG, "WebViewFactory preparation");
|
||||
WebViewFactory.prepareWebViewInSystemServer();
|
||||
|
||||
try {
|
||||
startSystemUi(context);
|
||||
} catch (Throwable e) {
|
||||
|
||||
Reference in New Issue
Block a user