diff --git a/tests/Android.bp b/tests/Android.bp
index a06977e..be6e653 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -36,7 +36,7 @@
     static_libs: [
         // The existence of the library in the system partition is not guaranteed.
         // Let's have our own copy of it.
-        "android.system.virtmanager-cpp",
+        "android.system.virtualizationservice-cpp",
     ],
     shared_libs: [
         "libbase",
diff --git a/tests/AndroidTest.xml b/tests/AndroidTest.xml
index 7c9d889..a8fdf19 100644
--- a/tests/AndroidTest.xml
+++ b/tests/AndroidTest.xml
@@ -25,8 +25,8 @@
         <option name="run-command" value="ls /dev/vhost-vsock" />
         <!-- CrosVM is installed. -->
         <option name="run-command" value="ls /apex/com.android.virt/bin/crosvm" />
-        <!-- Virt Manager is installed. -->
-        <option name="run-command" value="ls /apex/com.android.virt/bin/virtmanager" />
+        <!-- VirtualizationService is installed. -->
+        <option name="run-command" value="ls /apex/com.android.virt/bin/virtualizationservice" />
     </target_preparer>
 
     <!-- Push test binaries to the device. -->
@@ -42,11 +42,11 @@
          TODO: Give sufficient permissions to the adb shell user (b/171240450). -->
     <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
 
-    <!-- Run Virt Manager for the duration of the test.
-         TODO: Run Virt Manager as a system service. -->
+    <!-- Run VirtualizationService for the duration of the test.
+         TODO: Run VirtualizationService as a system service. -->
     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
         <option name="throw-if-cmd-fail" value="true" />
-        <option name="run-command" value="start virtmanager" />
+        <option name="run-command" value="start virtualizationservice" />
     </target_preparer>
 
     <test class="com.android.tradefed.testtype.GTest" >
diff --git a/tests/common.cc b/tests/common.cc
index 10c98b6..fbda6c6 100644
--- a/tests/common.cc
+++ b/tests/common.cc
@@ -19,7 +19,9 @@
 namespace virt {
 
 void VirtualizationTest::SetUp() {
-    status_t err = getService<IVirtManager>(String16("android.system.virtmanager"), &mVirtManager);
+    status_t err =
+            getService<IVirtualizationService>(String16("android.system.virtualizationservice"),
+                                               &mVirtualizationService);
     ASSERT_EQ(err, 0);
 }
 
diff --git a/tests/include/virt/VirtualizationTest.h b/tests/include/virt/VirtualizationTest.h
index a996f11..29509ba 100644
--- a/tests/include/virt/VirtualizationTest.h
+++ b/tests/include/virt/VirtualizationTest.h
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-#include "android/system/virtmanager/IVirtManager.h"
-#include "android/system/virtmanager/IVirtualMachine.h"
+#include "android/system/virtualizationservice/IVirtualMachine.h"
+#include "android/system/virtualizationservice/IVirtualizationService.h"
 #include "binder/IServiceManager.h"
 #include "gtest/gtest.h"
 
 using namespace android;
-using namespace android::system::virtmanager;
+using namespace android::system::virtualizationservice;
 
 namespace virt {
 
@@ -28,7 +28,7 @@
 protected:
     void SetUp() override;
 
-    sp<IVirtManager> mVirtManager;
+    sp<IVirtualizationService> mVirtualizationService;
 };
 
 } // namespace virt
diff --git a/tests/vsock_test.cc b/tests/vsock_test.cc
index f31cb94..84827d8 100644
--- a/tests/vsock_test.cc
+++ b/tests/vsock_test.cc
@@ -27,7 +27,7 @@
 #include "android-base/logging.h"
 #include "android-base/parseint.h"
 #include "android-base/unique_fd.h"
-#include "android/system/virtmanager/VirtualMachineConfig.h"
+#include "android/system/virtualizationservice/VirtualMachineConfig.h"
 #include "virt/VirtualizationTest.h"
 
 using namespace android::base;
@@ -66,7 +66,7 @@
     config.params = String16(kVmParams);
 
     sp<IVirtualMachine> vm;
-    status = mVirtManager->startVm(config, std::nullopt, &vm);
+    status = mVirtualizationService->startVm(config, std::nullopt, &vm);
     ASSERT_TRUE(status.isOk()) << "Error starting VM: " << status;
 
     int32_t cid;
