diff --git a/docs-tip-of-tree/build.gradle b/docs-tip-of-tree/build.gradle
index d4298a1..b28ed69 100644
--- a/docs-tip-of-tree/build.gradle
+++ b/docs-tip-of-tree/build.gradle
@@ -246,7 +246,7 @@
     docs(project(":mediarouter:mediarouter"))
     docs(project(":mediarouter:mediarouter-testing"))
     docs(project(":metrics:metrics-performance"))
-    docs(project(":navigation:navigation-common"))
+    kmpDocs(project(":navigation:navigation-common"))
     docs(project(":navigation:navigation-common-ktx"))
     docs(project(":navigation:navigation-compose"))
     docs(project(":navigation:navigation-dynamic-features-fragment"))
diff --git a/navigation/navigation-common/bcv/native/current.txt b/navigation/navigation-common/bcv/native/current.txt
new file mode 100644
index 0000000..0930ceb
--- /dev/null
+++ b/navigation/navigation-common/bcv/native/current.txt
@@ -0,0 +1,8 @@
+// Klib ABI Dump
+// Targets: [iosArm64, iosSimulatorArm64, iosX64, linuxArm64, linuxX64, macosArm64, macosX64]
+// Rendering settings:
+// - Signature version: 2
+// - Show manifest properties: true
+// - Show declarations: true
+
+// Library unique name: <androidx.navigation:navigation-common>
diff --git a/navigation/navigation-common/build.gradle b/navigation/navigation-common/build.gradle
index e657ad5..cc63769 100644
--- a/navigation/navigation-common/build.gradle
+++ b/navigation/navigation-common/build.gradle
@@ -24,14 +24,139 @@
 
 import androidx.build.KotlinTarget
 import androidx.build.LibraryType
+import androidx.build.PlatformIdentifier
+import org.jetbrains.kotlin.gradle.dsl.ExplicitApiMode
+import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
 
 plugins {
     id("AndroidXPlugin")
     id("com.android.library")
-    id("kotlin-android")
     alias(libs.plugins.kotlinSerialization)
 }
 
+androidXMultiplatform {
+    android()
+    desktop()
+    mac()
+    linux()
+    ios()
+
+    defaultPlatform(PlatformIdentifier.ANDROID)
+
+    sourceSets {
+        configureEach {
+            languageSettings.optIn("kotlin.contracts.ExperimentalContracts")
+        }
+
+        commonMain {
+            dependencies {
+                api("androidx.annotation:annotation:1.8.1")
+                api("androidx.lifecycle:lifecycle-common:2.9.0-alpha07")
+                api("androidx.lifecycle:lifecycle-runtime:2.9.0-alpha07")
+                api("androidx.lifecycle:lifecycle-viewmodel:2.9.0-alpha07")
+                api("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0-alpha07")
+                api("androidx.savedstate:savedstate:1.3.0-alpha05")
+                api(libs.kotlinStdlib)
+                implementation("androidx.collection:collection:1.4.2")
+                implementation(libs.kotlinSerializationCore)
+            }
+        }
+        commonTest {
+            dependencies {
+                implementation(libs.kotlinTest)
+            }
+        }
+
+        nonAndroidMain {
+            dependsOn(commonMain)
+        }
+        nonAndroidTest {
+            dependsOn(commonTest)
+        }
+        jvmCommonMain {
+            dependsOn(commonMain)
+        }
+        jvmCommonTest {
+            dependsOn(commonTest)
+        }
+        desktopMain {
+            dependsOn(jvmCommonMain)
+            dependsOn(nonAndroidMain)
+        }
+        desktopTest {
+            dependsOn(jvmCommonTest)
+            dependsOn(nonAndroidTest)
+        }
+        androidMain {
+            dependsOn(jvmCommonMain)
+            dependencies {
+                api("androidx.lifecycle:lifecycle-runtime-ktx:2.9.0-alpha07")
+                api("androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.0-alpha07")
+                api("androidx.savedstate:savedstate-ktx:1.3.0-alpha05")
+                implementation("androidx.core:core-ktx:1.1.0")
+                implementation("androidx.profileinstaller:profileinstaller:1.4.0")
+            }
+        }
+
+        androidUnitTest {
+            dependsOn(commonTest)
+            dependencies {
+                implementation(project(":navigation:navigation-testing"))
+                implementation("androidx.arch.core:core-testing:2.2.0")
+                implementation(libs.junit)
+                implementation(libs.mockitoCore4)
+                implementation(libs.truth)
+                implementation(libs.kotlinCoroutinesCore)
+                implementation(libs.kotlinCoroutinesTest)
+            }
+        }
+
+        androidInstrumentedTest {
+            dependsOn(commonTest)
+            dependencies {
+                implementation(libs.junit)
+                implementation(libs.testExtJunit)
+                implementation(libs.testRunner)
+                implementation(libs.truth)
+                implementation(libs.mockitoCore)
+                implementation(libs.dexmakerMockito)
+            }
+        }
+
+        nonJvmCommonMain {
+            dependsOn(nonAndroidMain)
+        }
+
+        nonJvmCommonTest {
+            dependsOn(nonAndroidTest)
+        }
+
+        nativeMain {
+            dependsOn(nonJvmCommonMain)
+        }
+        linuxMain.dependsOn(nativeMain)
+        darwinMain.dependsOn(nativeMain)
+
+        nativeTest {
+            dependsOn(nonJvmCommonTest)
+        }
+        linuxTest.dependsOn(nativeTest)
+        darwinTest.dependsOn(nativeTest)
+
+        targets.configureEach { target ->
+            if (target.platformType == KotlinPlatformType.native) {
+                if (target.konanTarget.family.appleFamily) {
+                    target.compilations["main"].defaultSourceSet.dependsOn(darwinMain)
+                    target.compilations["test"].defaultSourceSet.dependsOn(darwinTest)
+                } else if (target.konanTarget.family == org.jetbrains.kotlin.konan.target.Family.LINUX) {
+                    target.compilations["main"].defaultSourceSet.dependsOn(linuxMain)
+                    target.compilations["test"].defaultSourceSet.dependsOn(linuxTest)
+                }
+            }
+        }
+    }
+}
+
 android {
     buildTypes.configureEach {
         consumerProguardFiles "proguard-rules.pro"
@@ -40,39 +165,9 @@
 }
 
 dependencies {
-    api("androidx.annotation:annotation:1.8.1")
-    api("androidx.lifecycle:lifecycle-common:2.9.0-alpha07")
-    api("androidx.lifecycle:lifecycle-runtime-ktx:2.9.0-alpha07")
-    api("androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.0-alpha07")
-    api("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0-alpha07")
-    api("androidx.savedstate:savedstate-ktx:1.3.0-alpha05")
-    api(libs.kotlinStdlib)
-
-    implementation("androidx.core:core-ktx:1.1.0")
-    implementation("androidx.collection:collection-ktx:1.4.2")
-    implementation("androidx.profileinstaller:profileinstaller:1.4.0")
-    implementation(libs.kotlinSerializationCore)
-
-    testImplementation(project(":navigation:navigation-testing"))
-    testImplementation("androidx.arch.core:core-testing:2.2.0")
-    testImplementation(libs.junit)
-    testImplementation(libs.mockitoCore4)
-    testImplementation(libs.truth)
-    testImplementation(libs.kotlinCoroutinesCore)
-    testImplementation(libs.kotlinCoroutinesTest)
-    testImplementation(libs.kotlinTest)
-
     androidTestRuntimeOnly(libs.kotlinTestJunit)
     androidTestRuntimeOnly(libs.testCore)
 
-    androidTestImplementation(libs.junit)
-    androidTestImplementation(libs.kotlinTest)
-    androidTestImplementation(libs.testExtJunit)
-    androidTestImplementation(libs.testRunner)
-    androidTestImplementation(libs.truth)
-    androidTestImplementation(libs.mockitoCore)
-    androidTestImplementation(libs.dexmakerMockito)
-
     lintPublish(project(":navigation:navigation-common-lint"))
 }
 
diff --git a/navigation/navigation-common/src/androidTest/AndroidManifest.xml b/navigation/navigation-common/src/androidInstrumentedTest/AndroidManifest.xml
similarity index 100%
rename from navigation/navigation-common/src/androidTest/AndroidManifest.xml
rename to navigation/navigation-common/src/androidInstrumentedTest/AndroidManifest.xml
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/AddInDefaultArgsTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/AddInDefaultArgsTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavActionTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavActionTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavActionTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavActionTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavArgumentTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavArgumentTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavArgumentTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavArgumentTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkActionTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDeepLinkActionTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkActionTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDeepLinkActionTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDeepLinkBuilderTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDeepLinkBuilderTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkMimeTypeTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDeepLinkMimeTypeTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkMimeTypeTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDeepLinkMimeTypeTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDeepLinkTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDeepLinkTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDeepLinkTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDestinationAndroidTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationAndroidTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDestinationAndroidTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationBuilderTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDestinationBuilderTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavDestinationBuilderTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavDestinationBuilderTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavGraphAndroidTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavGraphAndroidTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavGraphAndroidTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavGraphAndroidTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavGraphBuilderTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavGraphBuilderTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavGraphBuilderTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavGraphBuilderTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavGraphTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavGraphTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavGraphTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavGraphTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavOptionsBuilderTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavOptionsBuilderTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavOptionsBuilderTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavOptionsBuilderTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/NavTypeTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavTypeTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/NavTypeTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/NavTypeTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/serialization/RouteDecoderTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/serialization/RouteDecoderTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/serialization/RouteDecoderTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/serialization/RouteDecoderTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/serialization/RouteFilledTest.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/serialization/RouteFilledTest.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/serialization/RouteFilledTest.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/serialization/RouteFilledTest.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/serialization/TestUtil.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/serialization/TestUtil.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/serialization/TestUtil.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/serialization/TestUtil.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavArgument.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/test/NavArgument.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavArgument.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/test/NavArgument.kt
diff --git a/navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavDestination.kt b/navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/test/NavDestination.kt
similarity index 100%
rename from navigation/navigation-common/src/androidTest/java/androidx/navigation/test/NavDestination.kt
rename to navigation/navigation-common/src/androidInstrumentedTest/kotlin/androidx/navigation/test/NavDestination.kt
diff --git a/navigation/navigation-common/src/androidTest/res/values/ids.xml b/navigation/navigation-common/src/androidInstrumentedTest/res/values/ids.xml
similarity index 100%
rename from navigation/navigation-common/src/androidTest/res/values/ids.xml
rename to navigation/navigation-common/src/androidInstrumentedTest/res/values/ids.xml
diff --git a/navigation/navigation-common/src/main/AndroidManifest.xml b/navigation/navigation-common/src/androidMain/AndroidManifest.xml
similarity index 100%
rename from navigation/navigation-common/src/main/AndroidManifest.xml
rename to navigation/navigation-common/src/androidMain/AndroidManifest.xml
diff --git a/navigation/navigation-common/src/main/baseline-prof.txt b/navigation/navigation-common/src/androidMain/baseline-prof.txt
similarity index 100%
rename from navigation/navigation-common/src/main/baseline-prof.txt
rename to navigation/navigation-common/src/androidMain/baseline-prof.txt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/ActionOnlyNavDirections.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/ActionOnlyNavDirections.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/ActionOnlyNavDirections.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/ActionOnlyNavDirections.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/CollectionNavType.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/CollectionNavType.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/CollectionNavType.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/CollectionNavType.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/FloatingWindow.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/FloatingWindow.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/FloatingWindow.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/FloatingWindow.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NamedNavArgument.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NamedNavArgument.android.kt
similarity index 95%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NamedNavArgument.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NamedNavArgument.android.kt
index b8dce1c..7f26995 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NamedNavArgument.kt
+++ b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NamedNavArgument.android.kt
@@ -14,6 +14,9 @@
  * limitations under the License.
  */
 
+@file:JvmName("NamedNavArgumentKt")
+@file:JvmMultifileClass
+
 package androidx.navigation
 
 /** Construct a new [NavArgument] */
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavAction.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavAction.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavAction.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavAction.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavArgs.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavArgs.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavArgs.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavArgs.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavArgsLazy.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavArgsLazy.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavArgsLazy.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavArgsLazy.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavArgument.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavArgument.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavArgument.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavBackStackEntry.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavBackStackEntry.android.kt
similarity index 98%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavBackStackEntry.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavBackStackEntry.android.kt
index 22ebc79..ea0139c 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavBackStackEntry.kt
+++ b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavBackStackEntry.android.kt
@@ -13,6 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+@file:JvmName("NavBackStackEntryKt")
+@file:JvmMultifileClass
+
 package androidx.navigation
 
 import android.app.Application
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDeepLink.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLink.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDeepLink.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkDslBuilder.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDeepLinkDslBuilder.android.kt
similarity index 98%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkDslBuilder.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDeepLinkDslBuilder.android.kt
index 3739cf5..95b0e2a 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkDslBuilder.kt
+++ b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDeepLinkDslBuilder.android.kt
@@ -14,6 +14,9 @@
  * limitations under the License.
  */
 
+@file:JvmName("NavDeepLinkDslBuilderKt")
+@file:JvmMultifileClass
+
 package androidx.navigation
 
 import androidx.navigation.serialization.generateRoutePattern
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkRequest.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDeepLinkRequest.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavDeepLinkRequest.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDeepLinkRequest.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDestination.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavDestination.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDestination.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDestinationBuilder.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDestinationBuilder.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavDestinationBuilder.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDestinationBuilder.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavDirections.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDirections.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavDirections.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavDirections.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavGraph.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraph.android.kt
similarity index 99%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavGraph.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraph.android.kt
index 0528d54..dae2c7b 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavGraph.kt
+++ b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraph.android.kt
@@ -13,6 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+@file:JvmName("NavGraphKt")
+@file:JvmMultifileClass
+
 package androidx.navigation
 
 import android.content.Context
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavGraphBuilder.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraphBuilder.android.kt
similarity index 98%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavGraphBuilder.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraphBuilder.android.kt
index 6a384a5..8aaef9e 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavGraphBuilder.kt
+++ b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraphBuilder.android.kt
@@ -14,6 +14,9 @@
  * limitations under the License.
  */
 
+@file:JvmName("NavGraphBuilderKt")
+@file:JvmMultifileClass
+
 package androidx.navigation
 
 import androidx.annotation.IdRes
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavGraphNavigator.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraphNavigator.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavGraphNavigator.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavGraphNavigator.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavOptions.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavOptions.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavOptions.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavOptions.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavOptionsBuilder.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavOptionsBuilder.android.kt
similarity index 98%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavOptionsBuilder.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavOptionsBuilder.android.kt
index 3e89268..d868d66 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavOptionsBuilder.kt
+++ b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavOptionsBuilder.android.kt
@@ -14,6 +14,9 @@
  * limitations under the License.
  */
 
+@file:JvmName("NavOptionsBuilderKt")
+@file:JvmMultifileClass
+
 package androidx.navigation
 
 import androidx.annotation.AnimRes
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavType.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavType.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavType.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavType.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavViewModelStoreProvider.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavViewModelStoreProvider.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavViewModelStoreProvider.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavViewModelStoreProvider.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/Navigator.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/Navigator.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/Navigator.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/Navigator.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorProvider.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavigatorProvider.android.kt
similarity index 98%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavigatorProvider.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavigatorProvider.android.kt
index 45e2de4..1e362ee 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorProvider.kt
+++ b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavigatorProvider.android.kt
@@ -13,6 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
+@file:JvmName("NavigatorProviderKt")
+@file:JvmMultifileClass
+
 package androidx.navigation
 
 import android.annotation.SuppressLint
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavigatorState.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NavigatorState.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NavigatorState.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/NoOpNavigator.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NoOpNavigator.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/NoOpNavigator.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/NoOpNavigator.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/SavedStateHandle.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/SavedStateHandle.android.kt
similarity index 96%
rename from navigation/navigation-common/src/main/java/androidx/navigation/SavedStateHandle.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/SavedStateHandle.android.kt
index 936d04f..b0d2058 100644
--- a/navigation/navigation-common/src/main/java/androidx/navigation/SavedStateHandle.kt
+++ b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/SavedStateHandle.android.kt
@@ -14,6 +14,9 @@
  * limitations under the License.
  */
 
+@file:JvmName("SavedStateHandleKt")
+@file:JvmMultifileClass
+
 package androidx.navigation
 
 import androidx.lifecycle.SavedStateHandle
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/SupportingPane.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/SupportingPane.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/SupportingPane.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/SupportingPane.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/serialization/NavTypeConverter.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/NavTypeConverter.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/serialization/NavTypeConverter.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/NavTypeConverter.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteBuilder.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteBuilder.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteBuilder.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteBuilder.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteDecoder.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteDecoder.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteDecoder.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteDecoder.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteDeserializer.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteDeserializer.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteDeserializer.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteDeserializer.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteEncoder.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteEncoder.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteEncoder.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteEncoder.android.kt
diff --git a/navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteSerializer.kt b/navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteSerializer.android.kt
similarity index 100%
rename from navigation/navigation-common/src/main/java/androidx/navigation/serialization/RouteSerializer.kt
rename to navigation/navigation-common/src/androidMain/kotlin/androidx/navigation/serialization/RouteSerializer.android.kt
diff --git a/navigation/navigation-common/src/main/res-public/values/public_attrs.xml b/navigation/navigation-common/src/androidMain/res-public/values/public_attrs.xml
similarity index 100%
rename from navigation/navigation-common/src/main/res-public/values/public_attrs.xml
rename to navigation/navigation-common/src/androidMain/res-public/values/public_attrs.xml
diff --git a/navigation/navigation-common/src/main/res/values/attrs.xml b/navigation/navigation-common/src/androidMain/res/values/attrs.xml
similarity index 100%
rename from navigation/navigation-common/src/main/res/values/attrs.xml
rename to navigation/navigation-common/src/androidMain/res/values/attrs.xml
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/ActionOnlyNavDirectionsTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/ActionOnlyNavDirectionsTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/ActionOnlyNavDirectionsTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/ActionOnlyNavDirectionsTest.kt
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/NavActionTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavActionTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/NavActionTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavActionTest.kt
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/NavDestinationTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavDestinationTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/NavDestinationTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavDestinationTest.kt
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/NavGraphNavigatorTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavGraphNavigatorTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/NavGraphNavigatorTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavGraphNavigatorTest.kt
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/NavGraphTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavGraphTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/NavGraphTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavGraphTest.kt
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/NavigatorProviderTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavigatorProviderTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/NavigatorProviderTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/NavigatorProviderTest.kt
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavArgumentGeneratorTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/serialization/NavArgumentGeneratorTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavArgumentGeneratorTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/serialization/NavArgumentGeneratorTest.kt
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavTypeConverterTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/serialization/NavTypeConverterTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/serialization/NavTypeConverterTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/serialization/NavTypeConverterTest.kt
diff --git a/navigation/navigation-common/src/test/java/androidx/navigation/serialization/RoutePatternTest.kt b/navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/serialization/RoutePatternTest.kt
similarity index 100%
rename from navigation/navigation-common/src/test/java/androidx/navigation/serialization/RoutePatternTest.kt
rename to navigation/navigation-common/src/androidUnitTest/kotlin/androidx/navigation/serialization/RoutePatternTest.kt
diff --git a/navigation/navigation-common/src/commonMain/kotlin/androidx/navigation/internal/SynchronizedObject.kt b/navigation/navigation-common/src/commonMain/kotlin/androidx/navigation/internal/SynchronizedObject.kt
new file mode 100644
index 0000000..b56f6af
--- /dev/null
+++ b/navigation/navigation-common/src/commonMain/kotlin/androidx/navigation/internal/SynchronizedObject.kt
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package androidx.navigation.internal
+
+import kotlin.contracts.InvocationKind
+import kotlin.contracts.contract
+
+/**
+ * A [SynchronizedObject] provides a mechanism for thread coordination. Instances of this class are
+ * used within [synchronized] functions to establish mutual exclusion, guaranteeing that only one
+ * thread accesses a protected resource or code block at a time.
+ */
+internal expect class SynchronizedObject()
+
+/**
+ * Executes the given function [action] while holding the monitor of the given object [lock].
+ *
+ * The implementation is platform specific:
+ * - JVM: implemented via `synchronized`, `ReentrantLock` is avoided for performance reasons.
+ * - Native: implemented via POSIX mutex with `PTHREAD_MUTEX_RECURSIVE` flag.
+ */
+internal inline fun <T> synchronized(lock: SynchronizedObject, crossinline action: () -> T): T {
+    contract { callsInPlace(action, InvocationKind.EXACTLY_ONCE) }
+    return synchronizedImpl(lock, action)
+}
+
+/**
+ * Executes the given function [action] while holding the monitor of the given object [lock].
+ *
+ * The implementation is platform specific:
+ * - JVM: implemented via `synchronized`, `ReentrantLock` is avoided for performance reasons.
+ * - Native: implemented via POSIX mutex with `PTHREAD_MUTEX_RECURSIVE` flag.
+ *
+ * **This is a private API and should not be used from general code.** This function exists
+ * primarily as a workaround for a Kotlin issue
+ * ([KT-29963](https://youtrack.jetbrains.com/issue/KT-29963)).
+ *
+ * You **MUST** use [synchronized] instead.
+ */
+internal expect inline fun <T> synchronizedImpl(
+    lock: SynchronizedObject,
+    crossinline action: () -> T,
+): T
diff --git a/navigation/navigation-common/src/darwinMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.darwin.kt b/navigation/navigation-common/src/darwinMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.darwin.kt
new file mode 100644
index 0000000..737eea9
--- /dev/null
+++ b/navigation/navigation-common/src/darwinMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.darwin.kt
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.navigation.internal
+
+internal actual val PTHREAD_MUTEX_RECURSIVE: Int = platform.posix.PTHREAD_MUTEX_RECURSIVE.toInt()
diff --git a/navigation/navigation-common/src/jvmCommonMain/kotlin/androidx/navigation/internal/SynchronizedObject.jvmCommon.kt b/navigation/navigation-common/src/jvmCommonMain/kotlin/androidx/navigation/internal/SynchronizedObject.jvmCommon.kt
new file mode 100644
index 0000000..7e9a99d
--- /dev/null
+++ b/navigation/navigation-common/src/jvmCommonMain/kotlin/androidx/navigation/internal/SynchronizedObject.jvmCommon.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.navigation.internal
+
+internal actual class SynchronizedObject actual constructor()
+
+internal actual inline fun <T> synchronizedImpl(
+    lock: SynchronizedObject,
+    crossinline action: () -> T
+): T = kotlin.synchronized(lock, action)
diff --git a/navigation/navigation-common/src/linuxMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.linux.kt b/navigation/navigation-common/src/linuxMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.linux.kt
new file mode 100644
index 0000000..737eea9
--- /dev/null
+++ b/navigation/navigation-common/src/linuxMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.linux.kt
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.navigation.internal
+
+internal actual val PTHREAD_MUTEX_RECURSIVE: Int = platform.posix.PTHREAD_MUTEX_RECURSIVE.toInt()
diff --git a/navigation/navigation-common/src/nativeMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.kt b/navigation/navigation-common/src/nativeMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.kt
new file mode 100644
index 0000000..fb32184
--- /dev/null
+++ b/navigation/navigation-common/src/nativeMain/kotlin/androidx/navigation/internal/SynchronizedObject.native.kt
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.navigation.internal
+
+import kotlin.experimental.ExperimentalNativeApi
+import kotlin.native.ref.createCleaner
+import kotlinx.cinterop.Arena
+import kotlinx.cinterop.ExperimentalForeignApi
+import kotlinx.cinterop.alloc
+import kotlinx.cinterop.ptr
+import platform.posix.pthread_mutex_destroy
+import platform.posix.pthread_mutex_init
+import platform.posix.pthread_mutex_lock
+import platform.posix.pthread_mutex_t
+import platform.posix.pthread_mutex_unlock
+import platform.posix.pthread_mutexattr_destroy
+import platform.posix.pthread_mutexattr_init
+import platform.posix.pthread_mutexattr_settype
+import platform.posix.pthread_mutexattr_t
+
+/**
+ * Wrapper for platform.posix.PTHREAD_MUTEX_RECURSIVE which is represented as kotlin.Int on darwin
+ * platforms and kotlin.UInt on linuxX64 See: // https://youtrack.jetbrains.com/issue/KT-41509
+ */
+internal expect val PTHREAD_MUTEX_RECURSIVE: Int
+
+internal actual class SynchronizedObject actual constructor() {
+
+    private val resource = Resource()
+
+    @Suppress("unused") // The returned Cleaner must be assigned to a property
+    @OptIn(ExperimentalNativeApi::class)
+    private val cleaner = createCleaner(resource, Resource::dispose)
+
+    fun lock() {
+        resource.lock()
+    }
+
+    fun unlock() {
+        resource.unlock()
+    }
+
+    @OptIn(ExperimentalForeignApi::class)
+    private class Resource {
+        private val arena: Arena = Arena()
+        private val attr: pthread_mutexattr_t = arena.alloc()
+        private val mutex: pthread_mutex_t = arena.alloc()
+
+        init {
+            pthread_mutexattr_init(attr.ptr)
+            pthread_mutexattr_settype(attr.ptr, PTHREAD_MUTEX_RECURSIVE)
+            pthread_mutex_init(mutex.ptr, attr.ptr)
+        }
+
+        fun lock(): Int = pthread_mutex_lock(mutex.ptr)
+
+        fun unlock(): Int = pthread_mutex_unlock(mutex.ptr)
+
+        fun dispose() {
+            pthread_mutex_destroy(mutex.ptr)
+            pthread_mutexattr_destroy(attr.ptr)
+            arena.clear()
+        }
+    }
+}
+
+internal actual inline fun <T> synchronizedImpl(
+    lock: SynchronizedObject,
+    crossinline action: () -> T
+): T {
+    lock.lock()
+    return try {
+        action()
+    } finally {
+        lock.unlock()
+    }
+}
