diff --git a/.travis.yml b/.travis.yml
index 4be7e2ec77d697388f66e5fe0204988b7936dfb0..9395877afc04685f36f3b39f1707bc9b066cfb65 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,82 +34,98 @@ matrix:
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: stable
+      install: true
     - name: "Build Beta Rust"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: beta
+      install: true
     - name: "Build Nightly Rust"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: nightly
+      install: true
     - name: "Build Stable Rust"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: stable
       os: osx
       osx_image: xcode10
+      install: true
     - name: "Build Beta Rust"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: beta
       os: osx
       osx_image: xcode10
+      install: true
     - name: "Build Nightly Rust"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: nightly
       os: osx
       osx_image: xcode10
+      install: true
     - name: "Build Stable Rust 1.13.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.13.0
+      install: true
     - name: "Build Stable Rust 1.19.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.19.0
+      install: true
     - name: "Build Stable Rust 1.24.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.24.0
+      install: true
     - name: "Build Stable Rust 1.25.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.25.0
+      install: true
     - name: "Build Stable Rust 1.30.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.30.0
+      install: true
     - name: "Build Stable Rust 1.13.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.13.0
       os: osx
       osx_image: xcode10
+      install: true
     - name: "Build Stable Rust 1.19.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.19.0
       os: osx
       osx_image: xcode10
+      install: true
     - name: "Build Stable Rust 1.24.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.24.0
       os: osx
       osx_image: xcode10
+      install: true
     - name: "Build Stable Rust 1.25.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.25.0
       os: osx
       osx_image: xcode10
+      install: true
     - name: "Build Stable Rust 1.30.0"
       script: sh ci/build.sh
       stage: tools-and-build-and-tier1
       rust: 1.30.0
       os: osx
       osx_image: xcode10
+      install: true
     - env: TARGET=i686-apple-darwin
       os: osx
       osx_image: xcode10
@@ -119,9 +135,11 @@ matrix:
     - env: TARGET=x86_64-apple-darwin
       os: osx
       osx_image: xcode10
+      install: true
       stage: tools-and-build-and-tier1
     - env: TARGET=x86_64-unknown-linux-gnu
       stage: tools-and-build-and-tier1
+      install: true
 
     # Tier 2 targets
     - env: TARGET=aarch64-linux-android
@@ -174,7 +192,7 @@ matrix:
       - env: TARGET=asmjs-unknown-emscripten
       - env: TARGET=wasm32-unknown-emscripten
 
-install: rustup target add $TARGET || true
+install: travis_retry rustup target add $TARGET
 
 script:
   - cargo generate-lockfile --manifest-path libc-test/Cargo.toml
diff --git a/ci/android-install-ndk.sh b/ci/android-install-ndk.sh
index ce11d006ef000250a21fc0773cf02fc95d9aebe9..54f7b2efd967419df656473f7e1a7095690845e5 100644
--- a/ci/android-install-ndk.sh
+++ b/ci/android-install-ndk.sh
@@ -11,7 +11,7 @@
 
 set -ex
 
-curl --retry 5 -O https://dl.google.com/android/repository/android-ndk-r15b-linux-x86_64.zip
+curl --retry 10 -O https://dl.google.com/android/repository/android-ndk-r15b-linux-x86_64.zip
 unzip -q android-ndk-r15b-linux-x86_64.zip
 
 case "$1" in
diff --git a/ci/android-install-sdk.sh b/ci/android-install-sdk.sh
index 6b5ac09ab04afe003f8aaa6f43a0fc90deeb5c62..64cfbf1170770d3825f573201b375d3a153af9bc 100644
--- a/ci/android-install-sdk.sh
+++ b/ci/android-install-sdk.sh
@@ -19,7 +19,7 @@ set -ex
 # which apparently magically accepts the licenses.
 
 mkdir sdk
-curl --retry 5 https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O
+curl --retry 10 https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip -O
 unzip -d sdk sdk-tools-linux-3859397.zip
 
 case "$1" in