Also pass SYSTEMSERVERCLASSPATH to compsvc
Like the existing two, this is a temporary workaround to unblock
development, until we can run derive_classpath in the VM.
Bug: 205750213
Test: can use the variable locally
Change-Id: Ib38a0a1d22fc4528832a1abbb6a26fb9148034c7
diff --git a/compos/aidl/com/android/compos/ICompOsService.aidl b/compos/aidl/com/android/compos/ICompOsService.aidl
index 34dee54..db746fd 100644
--- a/compos/aidl/com/android/compos/ICompOsService.aidl
+++ b/compos/aidl/com/android/compos/ICompOsService.aidl
@@ -38,7 +38,8 @@
* TODO(198211396): Implement properly. We can't simply accepting the classpaths from Android
* since they are not derived from staged APEX (besides security reasons).
*/
- void initializeClasspaths(String bootClasspath, String dex2oatBootClasspath);
+ void initializeClasspaths(
+ String bootClasspath, String dex2oatBootClasspath, String systemServerClassPath);
/**
* Run dex2oat command with provided args, in a context that may be specified in FdAnnotation,
diff --git a/compos/composd/src/instance_starter.rs b/compos/composd/src/instance_starter.rs
index 4b3ac1b..3e18c3e 100644
--- a/compos/composd/src/instance_starter.rs
+++ b/compos/composd/src/instance_starter.rs
@@ -152,7 +152,11 @@
// TODO(198211396): Implement correctly.
service
- .initializeClasspaths(&env::var("BOOTCLASSPATH")?, &env::var("DEX2OATBOOTCLASSPATH")?)
+ .initializeClasspaths(
+ &env::var("BOOTCLASSPATH")?,
+ &env::var("DEX2OATBOOTCLASSPATH")?,
+ &env::var("SYSTEMSERVERCLASSPATH")?,
+ )
.context("Initializing *CLASSPATH")?;
Ok(())
}
diff --git a/compos/src/compsvc.rs b/compos/src/compsvc.rs
index 2a5534c..9d2f1dc 100644
--- a/compos/src/compsvc.rs
+++ b/compos/src/compsvc.rs
@@ -90,10 +90,12 @@
&self,
boot_classpath: &str,
dex2oat_boot_classpath: &str,
+ system_server_classpath: &str,
) -> BinderResult<()> {
// TODO(198211396): Implement correctly.
env::set_var("BOOTCLASSPATH", boot_classpath);
env::set_var("DEX2OATBOOTCLASSPATH", dex2oat_boot_classpath);
+ env::set_var("SYSTEMSERVERCLASSPATH", system_server_classpath);
Ok(())
}