diff --git a/services/BUILD.gn b/services/BUILD.gn
index 9b5ff8f..eaa20bc 100644
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -27,15 +27,15 @@
 
   if (is_android) {
     deps += [
-      "//services/android:java_handler",
       "//services/camera",
       "//services/camera:camera_roll",
       "//services/contacts",
+      "//services/java_handler",
       "//services/location",
       "//services/notifications",
       "//services/sensors",
-      "//services/speech_recognizer",
       "//services/sharing:android_sharing",
+      "//services/speech_recognizer",
     ]
     if (defined(go_build_tool) && go_build_tool != "") {
       deps += [ "//services/vanadium/security:principal_service" ]
diff --git a/services/android/BUILD.gn b/services/java_handler/BUILD.gn
similarity index 91%
rename from services/android/BUILD.gn
rename to services/java_handler/BUILD.gn
index 7eba11c..0256905 100644
--- a/services/android/BUILD.gn
+++ b/services/java_handler/BUILD.gn
@@ -25,7 +25,8 @@
     "//mojo/services/url_response_disk_cache/interfaces",
   ]
 
-  java_sources = [ "java/src/org/chromium/services/android/JavaHandler.java" ]
+  java_sources =
+      [ "java/src/org/chromium/services/java_handler/JavaHandler.java" ]
 
   java_deps = [
     "//base:base_java",
diff --git a/services/android/java/src/org/chromium/services/android/JavaHandler.java b/services/java_handler/java/src/org/chromium/services/java_handler/JavaHandler.java
similarity index 98%
rename from services/android/java/src/org/chromium/services/android/JavaHandler.java
rename to services/java_handler/java/src/org/chromium/services/java_handler/JavaHandler.java
index 401762a..5af2df7 100644
--- a/services/android/java/src/org/chromium/services/android/JavaHandler.java
+++ b/services/java_handler/java/src/org/chromium/services/java_handler/JavaHandler.java
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-package org.chromium.services.android;
+package org.chromium.services.java_handler;
 
 import android.content.Context;
 import android.util.Log;
diff --git a/services/android/java_handler.cc b/services/java_handler/java_handler.cc
similarity index 97%
rename from services/android/java_handler.cc
rename to services/java_handler/java_handler.cc
index 63a7a52..8079eda 100644
--- a/services/android/java_handler.cc
+++ b/services/java_handler/java_handler.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "services/android/java_handler.h"
+#include "services/java_handler/java_handler.h"
 
 #include "base/android/base_jni_onload.h"
 #include "base/android/base_jni_registrar.h"
@@ -52,11 +52,9 @@
 namespace services {
 namespace android {
 
-JavaHandler::JavaHandler() : content_handler_factory_(this) {
-}
+JavaHandler::JavaHandler() : content_handler_factory_(this) {}
 
-JavaHandler::~JavaHandler() {
-}
+JavaHandler::~JavaHandler() {}
 
 void JavaHandler::RunApplication(
     mojo::InterfaceRequest<mojo::Application> application_request,
@@ -80,7 +78,6 @@
     base::RunLoop().Run();
   }
 
-
   jobject context = base::android::GetApplicationContext();
   ScopedJavaLocalRef<jstring> j_archive_path =
       ConvertUTF8ToJavaString(env, archive_path.value());
@@ -161,4 +158,3 @@
   JNIEnv* env = base::android::AttachCurrentThread();
   base::android::InitApplicationContext(env, context);
 }
-
diff --git a/services/android/java_handler.h b/services/java_handler/java_handler.h
similarity index 92%
rename from services/android/java_handler.h
rename to services/java_handler/java_handler.h
index 13f1cea..75a8929 100644
--- a/services/android/java_handler.h
+++ b/services/java_handler/java_handler.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef SERVICES_ANDROID_JAVA_HANDLER_H_
-#define SERVICES_ANDROID_JAVA_HANDLER_H_
+#ifndef SERVICES_JAVA_HANDLER_JAVA_HANDLER_H_
+#define SERVICES_JAVA_HANDLER_JAVA_HANDLER_H_
 
 #include <jni.h>
 
@@ -51,4 +51,4 @@
 }  // namespace android
 }  // namespace services
 
-#endif  // SERVICES_ANDROID_JAVA_HANDLER_H_
+#endif  // SERVICES_JAVA_HANDLER_JAVA_HANDLER_H_
diff --git a/shell/BUILD.gn b/shell/BUILD.gn
index 60fd0a4..5a3a360 100644
--- a/shell/BUILD.gn
+++ b/shell/BUILD.gn
@@ -434,7 +434,7 @@
 
       deps += [
         "//services/authenticating_url_loader_interceptor",
-        "//services/android:java_handler",
+        "//services/java_handler",
         "//services/dart:dart_content_handler",
         "//services/device_info",
         "//services/icu_data",
diff --git a/shell/android/apk/src/org/chromium/mojo/shell/IntentReceiverRegistry.java b/shell/android/apk/src/org/chromium/mojo/shell/IntentReceiverRegistry.java
index 522faad..15dc127 100644
--- a/shell/android/apk/src/org/chromium/mojo/shell/IntentReceiverRegistry.java
+++ b/shell/android/apk/src/org/chromium/mojo/shell/IntentReceiverRegistry.java
@@ -23,8 +23,9 @@
 import java.util.UUID;
 
 /**
- * Java implementation for services/android/intent_receiver.mojom. This class creates intents for
- * privileged mojo applications and routes received intents back to the mojo application.
+ * Java implementation for services/intent_receiver/intent_receiver.mojom. This class creates
+ * intents for privileged mojo applications and routes received intents back to the mojo
+ * application.
  */
 public class IntentReceiverRegistry
         implements IntentReceiverManager, ServiceFactoryBinder<IntentReceiverManager> {
