diff --git a/ci/android-install-ndk.sh b/ci/android-install-ndk.sh
index 7bc655ef6913fd246beb665079da77de5a195988..463565125972fb65d6c7583a336bbf4edf58a2e6 100644
--- a/ci/android-install-ndk.sh
+++ b/ci/android-install-ndk.sh
@@ -9,15 +9,15 @@ unzip -q ${NDK}-linux-x86_64.zip
 case "$1" in
   arm)
     arch=arm
-    api=24
+    api=28
     ;;
   armv7)
     arch=arm
-    api=24
+    api=28
     ;;
   aarch64)
     arch=arm64
-    api=24
+    api=28
     ;;
   i686)
     arch=x86
diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile
index 2c816c24f2e07df37506bd91c998772cf7fa8e7e..d5396a32e18c6e0e502b7c36f4fe7a9c95f4808c 100644
--- a/ci/docker/aarch64-linux-android/Dockerfile
+++ b/ci/docker/aarch64-linux-android/Dockerfile
@@ -29,7 +29,7 @@ RUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linu
 RUN ls -a /android/sdk/platform-tools
 
 ENV PATH=$PATH:/rust/bin \
-    CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \
+    CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android28-clang \
     CARGO_TARGET_AARCH64_LINUX_ANDROID_RUNNER=/tmp/runtest \
     HOME=/tmp
 
diff --git a/libc-test/Cargo.toml b/libc-test/Cargo.toml
index 00e0b5407ca4293db113d3058dacbcdea6695912..ae5bfe39330a73729c5dbb80059cf1dd8cfa0c1e 100644
--- a/libc-test/Cargo.toml
+++ b/libc-test/Cargo.toml
@@ -9,7 +9,7 @@ path = ".."
 default-features = false
 
 [build-dependencies]
-cc = "1.0"
+cc = "=1.0.52"
 # FIXME: Use fork ctest until the maintainer gets back.
 ctest2 = "0.3"