diff --git a/ci/android-accept-licenses.sh b/ci/android-accept-licenses.sh
deleted file mode 100755
index 8d8f60a5ec2604606571cdb6a7d231d5754aa38f..0000000000000000000000000000000000000000
--- a/ci/android-accept-licenses.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/expect -f
-# ignore-license
-
-set timeout 1800
-set cmd [lindex $argv 0]
-set licenses [lindex $argv 1]
-
-spawn {*}$cmd
-expect {
-  "Do you accept the license '*'*" {
-        exp_send "y\r"
-        exp_continue
-  }
-  eof
-}
diff --git a/ci/android-install-sdk.sh b/ci/android-install-sdk.sh
index 7e6147cc0cd8658d1c2ae29f2f03b41c5da0c388..ab7e14d95be2541de76612fcc42fd8488b02b5e8 100644
--- a/ci/android-install-sdk.sh
+++ b/ci/android-install-sdk.sh
@@ -19,10 +19,8 @@ set -ex
 # which apparently magically accepts the licenses.
 
 mkdir sdk
-curl https://dl.google.com/android/repository/tools_r25.2.5-linux.zip -O
-unzip -d sdk tools_r25.2.5-linux.zip
-
-filter="platform-tools,android-24"
+curl https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O
+unzip -d sdk sdk-tools-linux-3859397.zip
 
 case "$1" in
   arm | armv7)
@@ -47,11 +45,16 @@ case "$1" in
     ;;
 esac;
 
-filter="$filter,sys-img-$abi-android-24"
-
-./android-accept-licenses.sh "android - update sdk -a --no-ui --filter $filter --no-https"
-
-echo "no" | android create avd \
-                --name $1 \
-                --target android-24 \
-                --abi $abi
+# --no_https avoids
+# javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
+echo "yes" | \
+    ./sdk/tools/bin/sdkmanager --no_https \
+        "emulator" \
+        "platform-tools" \
+        "platforms;android-24" \
+        "system-images;android-24;default;$abi"
+
+echo "no" |
+    ./sdk/tools/bin/avdmanager create avd \
+        --name $1 \
+        --package "system-images;android-24;default;$abi"
diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile
index 345540a3f07759aec0136903c0c04f53f6a29f7b..5fc83aadb333d6d1e7e841fd29d849104112b34d 100644
--- a/ci/docker/aarch64-linux-android/Dockerfile
+++ b/ci/docker/aarch64-linux-android/Dockerfile
@@ -25,7 +25,7 @@ RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
 RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
 RUN mv /root/.android /tmp
 RUN chmod 777 -R /tmp/.android
-RUN chmod 755 /android/sdk/tools/* /android/sdk/tools/qemu/linux-x86_64/*
+RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
 
 ENV PATH=$PATH:/rust/bin \
     CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \
@@ -38,7 +38,7 @@ ENTRYPOINT [ \
   "-c", \
   # set SHELL so android can detect a 64bits system, see
   # http://stackoverflow.com/a/41789144
-  "SHELL=/bin/dash emulator @aarch64 -no-window & \
+  "SHELL=/bin/dash /android/sdk/emulator/emulator @aarch64 -no-window & \
    rustc /tmp/runtest.rs -o /tmp/runtest && \
    exec \"$@\"", \
   "--" \
diff --git a/ci/docker/arm-linux-androideabi/Dockerfile b/ci/docker/arm-linux-androideabi/Dockerfile
index 554f078729356edb7a02d08464882d8f72e16694..a3fc64bfd52f3d4874bf42ca21668070c837f572 100644
--- a/ci/docker/arm-linux-androideabi/Dockerfile
+++ b/ci/docker/arm-linux-androideabi/Dockerfile
@@ -25,7 +25,7 @@ RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
 RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
 RUN mv /root/.android /tmp
 RUN chmod 777 -R /tmp/.android
-RUN chmod 755 /android/sdk/tools/* /android/sdk/tools/qemu/linux-x86_64/*
+RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
 
 ENV PATH=$PATH:/rust/bin \
     CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
@@ -38,7 +38,7 @@ ENTRYPOINT [ \
   "-c", \
   # set SHELL so android can detect a 64bits system, see
   # http://stackoverflow.com/a/41789144
-  "SHELL=/bin/dash emulator @arm -no-window & \
+  "SHELL=/bin/dash /android/sdk/emulator/emulator @arm -no-window & \
    rustc /tmp/runtest.rs -o /tmp/runtest && \
    exec \"$@\"", \
   "--" \
diff --git a/ci/docker/i686-linux-android/Dockerfile b/ci/docker/i686-linux-android/Dockerfile
index 7671f78b4f8f24d52e4cd1939b68c3df3ed4a0d0..f0836c38538e0b4f94ca19da32d04ed3512d1403 100644
--- a/ci/docker/i686-linux-android/Dockerfile
+++ b/ci/docker/i686-linux-android/Dockerfile
@@ -25,7 +25,7 @@ RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
 RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
 RUN mv /root/.android /tmp
 RUN chmod 777 -R /tmp/.android
-RUN chmod 755 /android/sdk/tools/* /android/sdk/tools/qemu/linux-x86_64/*
+RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
 
 ENV PATH=$PATH:/rust/bin \
     CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \
@@ -38,7 +38,7 @@ ENTRYPOINT [ \
   "-c", \
   # set SHELL so android can detect a 64bits system, see
   # http://stackoverflow.com/a/41789144
-  "SHELL=/bin/dash emulator @i686 -no-window -no-accel & \
+  "SHELL=/bin/dash /android/sdk/emulator/emulator @i686 -no-window -no-accel & \
    rustc /tmp/runtest.rs -o /tmp/runtest && \
    exec \"$@\"", \
   "--" \