diff --git a/native/android/app/CMakeLists.txt b/native/android/app/CMakeLists.txt
--- a/native/android/app/CMakeLists.txt
+++ b/native/android/app/CMakeLists.txt
@@ -54,7 +54,7 @@
 FetchContent_Declare(
   Corrosion
   GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
-  GIT_TAG v0.2.1
+  GIT_TAG v0.5.1
 )
 
 FetchContent_MakeAvailable(Corrosion)
diff --git a/native/android/build.gradle b/native/android/build.gradle
--- a/native/android/build.gradle
+++ b/native/android/build.gradle
@@ -6,13 +6,9 @@
         minSdkVersion = 23
         compileSdkVersion = 34
         targetSdkVersion = 34
-        if (System.properties['os.arch'] == "aarch64") {
-            // For M1 Users we need to use the NDK 24 which added support for aarch64
-            ndkVersion = "24.0.8215888"
-        } else {
-            // Otherwise we default to the side-by-side NDK version from AGP.
-            ndkVersion = "21.4.7075529"
-        }
+
+        // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
+        ndkVersion = "23.1.7779620"
     }
     repositories {
         google()
diff --git a/services/commtest/Dockerfile b/services/commtest/Dockerfile
--- a/services/commtest/Dockerfile
+++ b/services/commtest/Dockerfile
@@ -26,6 +26,9 @@
 
 WORKDIR /home/root/services/commtest
 
+# Add the Rust target for ARM64 architecture
+RUN rustup target add aarch64-unknown-linux-gnu
+
 # Install cargo lambda
 RUN pip3 install cargo-lambda