diff --git a/cmd/gomobile/bind_test.go b/cmd/gomobile/bind_test.go
index 09a89d1..d0b7736 100644
--- a/cmd/gomobile/bind_test.go
+++ b/cmd/gomobile/bind_test.go
@@ -101,7 +101,7 @@
 
 var bindAndroidTmpl = template.Must(template.New("output").Parse(`GOMOBILE={{.GOPATH}}/pkg/gomobile
 WORK=$WORK
-GOOS=android GOARCH=arm CC=$GOMOBILE/android-ndk-r10e/arm/bin/arm-linux-androideabi-gcc CXX=$GOMOBILE/android-ndk-r10e/arm/bin/arm-linux-androideabi-g++ CGO_ENABLED=1 GOARM=7 go install -p={{.NumCPU}} -pkgdir=$GOMOBILE/pkg_android_arm -tags="" -x golang.org/x/mobile/asset
+GOOS=android GOARCH=arm CC=$GOMOBILE/android-ndk-r11c/arm/bin/arm-linux-androideabi-gcc CXX=$GOMOBILE/android-ndk-r11c/arm/bin/arm-linux-androideabi-g++ CGO_ENABLED=1 GOARM=7 go install -p={{.NumCPU}} -pkgdir=$GOMOBILE/pkg_android_arm -tags="" -x golang.org/x/mobile/asset
 rm -r -f "$WORK/fakegopath"
 mkdir -p $WORK/fakegopath/pkg
 cp $GOMOBILE/pkg_android_arm/golang.org/x/mobile/asset.a $WORK/fakegopath/pkg/android_arm/golang.org/x/mobile/asset.a
diff --git a/cmd/gomobile/env.go b/cmd/gomobile/env.go
index dbfa852..4c65a65 100644
--- a/cmd/gomobile/env.go
+++ b/cmd/gomobile/env.go
@@ -287,7 +287,7 @@
 		arch:       "arm",
 		abi:        "armeabi-v7a",
 		platform:   "android-15",
-		gcc:        "arm-linux-androideabi-4.8",
+		gcc:        "arm-linux-androideabi-4.9",
 		toolPrefix: "arm-linux-androideabi",
 		minGoVer:   go1_5,
 	},
@@ -304,7 +304,7 @@
 		arch:       "x86",
 		abi:        "x86",
 		platform:   "android-15",
-		gcc:        "x86-4.8",
+		gcc:        "x86-4.9",
 		toolPrefix: "i686-linux-android",
 		minGoVer:   go1_6,
 	},
diff --git a/cmd/gomobile/hashes.go b/cmd/gomobile/hashes.go
index 871bf70..0771196 100644
--- a/cmd/gomobile/hashes.go
+++ b/cmd/gomobile/hashes.go
@@ -7,15 +7,13 @@
 // Hashes were computed with 'go run release.go'
 
 var fetchHashes = map[string]string{
-	"android-ndk-r10e-darwin-x86_64.bin":      "728c309e606f63101f1258c9d3d579b80ac74fe74c511ebb71f460ce5c5d084e",
-	"gomobile-ndk-r10e-darwin-x86_64.tar.gz":  "e8bff8a56f5688ec849a95a4e85130ce02eff5c2d54e361103777c396db8d308",
-	"android-ndk-r10e-linux-x86.bin":          "92b07d25aaad9b341a7f2b2a62402d508e948bf2dea3ee7b65a6aeb18bca7df5",
-	"gomobile-ndk-r10e-linux-x86.tar.gz":      "4cc1dd2a1bdf4d81618223d6b25a9d5b5673389c5977a7bff85a89a15afd36a2",
-	"android-ndk-r10e-linux-x86_64.bin":       "102d6723f67ff1384330d12c45854315d6452d6510286f4e5891e00a5a8f1d5a",
-	"gomobile-ndk-r10e-linux-x86_64.tar.gz":   "bacfed664a7b69b1b693f246ea49a85f04f502bd1ae723351c5345ab5b2ba850",
-	"android-ndk-r10e-windows-x86.exe":        "5378a60a796de75a2d609b76f5c56df7a343511ec36a823bae8c7423591cc8f5",
-	"gomobile-ndk-r10e-windows-x86.tar.gz":    "4c0d647519a5d254d39a13f8ec85951ca378d8eb8463fdcde5c46490b1f2c382",
-	"android-ndk-r10e-windows-x86_64.exe":     "9bc55ea4b3ad38dcd34157528760e62183b63ebc4a38a6ca478889ff7583d9c1",
-	"gomobile-ndk-r10e-windows-x86_64.tar.gz": "582cc90605c8cc026be0d70ccf58d2ec44373f7e855fbb2faee59c2cf2f7121e",
-	"gomobile-openal-soft-1.16.0.1.tar.gz":    "ff7ff835355a1158001e6b6cc03d3a65abb508abc34a5f19ae9af0bdeadd978b",
+	"android-ndk-r11c-darwin-x86_64.zip":      "fe2f8986074717240df45f03e93a4436dac2040dc12fecee4853953d584424b3",
+	"gomobile-ndk-r11c-darwin-x86_64.tar.gz":  "1d563c5c27dcb3643eb3cbd4e44b535aec052c600350d6203374e0100b1d75ff",
+	"android-ndk-r11c-linux-x86_64.zip":       "ba85dbe4d370e4de567222f73a3e034d85fc3011b3cbd90697f3e8dcace3ad94",
+	"gomobile-ndk-r11c-linux-x86_64.tar.gz":   "eb0a657e03dad70dce33281414d2fdf38f2b313a8a1a4323d0648e9d16198d74",
+	"android-ndk-r11c-windows-x86.zip":        "eea7d148cf046baad2b8f3fd8e4a27d3695964079db0da6b9fca08051bb4dccb",
+	"gomobile-ndk-r11c-windows-x86.tar.gz":    "7f6b53f55993aa0deccace0ab2829ebb0e93d6bf2196a964f63bfde46da95d9e",
+	"android-ndk-r11c-windows-x86_64.zip":     "55c69f1d5a3602b3f6d6cea280b16938f17d6a4b509af01641d4db1280088d90",
+	"gomobile-ndk-r11c-windows-x86_64.tar.gz": "b3e1e17ec6d19b7512e6b5277fccc3a61e4c4b6bab6c4a3874d856c0332a61db",
+	"gomobile-openal-soft-1.16.0.1.tar.gz":    "84c9361734902df622dd49a8c0cfb0090fd7743a2cbf927a9ae85c4826beb173",
 }
diff --git a/cmd/gomobile/init.go b/cmd/gomobile/init.go
index d976dd5..ef52e19 100644
--- a/cmd/gomobile/init.go
+++ b/cmd/gomobile/init.go
@@ -30,7 +30,7 @@
 // There is a significant size different (400MB compared to 30MB).
 var useStrippedNDK = true
 
-const ndkVersion = "ndk-r10e"
+const ndkVersion = "ndk-r11c"
 const openALVersion = "openal-soft-1.16.0.1"
 
 var (
diff --git a/cmd/gomobile/init_test.go b/cmd/gomobile/init_test.go
index 6fe8f5d..c6678b8 100644
--- a/cmd/gomobile/init_test.go
+++ b/cmd/gomobile/init_test.go
@@ -115,9 +115,9 @@
 tar xfz $GOMOBILE/dl/gomobile-{{.NDK}}-{{.GOOS}}-{{.NDKARCH}}.tar.gz
 mkdir -p $GOMOBILE/android-{{.NDK}}/arm/sysroot
 mv $WORK/android-{{.NDK}}/platforms/android-15/arch-arm/usr $GOMOBILE/android-{{.NDK}}/arm/sysroot/usr
-mv $WORK/android-{{.NDK}}/toolchains/arm-linux-androideabi-4.8/prebuilt/{{.GOOS}}-{{.NDKARCH}}/bin $GOMOBILE/android-{{.NDK}}/arm/bin
-mv $WORK/android-{{.NDK}}/toolchains/arm-linux-androideabi-4.8/prebuilt/{{.GOOS}}-{{.NDKARCH}}/lib $GOMOBILE/android-{{.NDK}}/arm/lib
-mv $WORK/android-{{.NDK}}/toolchains/arm-linux-androideabi-4.8/prebuilt/{{.GOOS}}-{{.NDKARCH}}/libexec $GOMOBILE/android-{{.NDK}}/arm/libexec
+mv $WORK/android-{{.NDK}}/toolchains/arm-linux-androideabi-4.9/prebuilt/{{.GOOS}}-{{.NDKARCH}}/bin $GOMOBILE/android-{{.NDK}}/arm/bin
+mv $WORK/android-{{.NDK}}/toolchains/arm-linux-androideabi-4.9/prebuilt/{{.GOOS}}-{{.NDKARCH}}/lib $GOMOBILE/android-{{.NDK}}/arm/lib
+mv $WORK/android-{{.NDK}}/toolchains/arm-linux-androideabi-4.9/prebuilt/{{.GOOS}}-{{.NDKARCH}}/libexec $GOMOBILE/android-{{.NDK}}/arm/libexec
 mkdir -p $GOMOBILE/android-{{.NDK}}/arm/arm-linux-androideabi/bin
 ln -s $GOMOBILE/android-{{.NDK}}/arm/bin/arm-linux-androideabi-ld{{.EXE}} $GOMOBILE/android-{{.NDK}}/arm/arm-linux-androideabi/bin/ld{{.EXE}}
 ln -s $GOMOBILE/android-{{.NDK}}/arm/bin/arm-linux-androideabi-as{{.EXE}} $GOMOBILE/android-{{.NDK}}/arm/arm-linux-androideabi/bin/as{{.EXE}}
diff --git a/cmd/gomobile/release.go b/cmd/gomobile/release.go
index 9e7f2ab..54288b1 100644
--- a/cmd/gomobile/release.go
+++ b/cmd/gomobile/release.go
@@ -17,6 +17,7 @@
 	"compress/gzip"
 	"crypto/sha256"
 	"encoding/hex"
+	"flag"
 	"fmt"
 	"hash"
 	"io"
@@ -29,7 +30,7 @@
 	"runtime"
 )
 
-const ndkVersion = "ndk-r10e"
+const ndkVersion = "ndk-r11c"
 
 type version struct {
 	os   string
@@ -38,7 +39,6 @@
 
 var hosts = []version{
 	{"darwin", "x86_64"},
-	{"linux", "x86"},
 	{"linux", "x86_64"},
 	{"windows", "x86"},
 	{"windows", "x86_64"},
@@ -52,15 +52,19 @@
 }
 
 var targets = []target{
-	{"arm", "android-15", "arm-linux-androideabi-4.8", "arm-linux-androideabi"},
+	{"arm", "android-15", "arm-linux-androideabi-4.9", "arm-linux-androideabi"},
 	{"arm64", "android-21", "aarch64-linux-android-4.9", "aarch64-linux-android"},
-	{"x86", "android-15", "x86-4.8", "i686-linux-android"},
+	{"x86", "android-15", "x86-4.9", "i686-linux-android"},
 	{"x86_64", "android-21", "x86_64-4.9", "x86_64-linux-android"},
 }
 
-var tmpdir string
+var (
+	ndkdir = flag.String("ndkdir", "", "Directory for the downloaded NDKs for caching")
+	tmpdir string
+)
 
 func main() {
+	flag.Parse()
 	var err error
 	tmpdir, err = ioutil.TempDir("", "gomobile-release-")
 	if err != nil {
@@ -187,15 +191,14 @@
 }
 
 func fetchNDK(host version) (binPath, url string, err error) {
-	ndkName := "android-" + ndkVersion + "-" + host.os + "-" + host.arch + "."
-	if host.os == "windows" {
-		ndkName += "exe"
-	} else {
-		ndkName += "bin"
-	}
+	ndkName := "android-" + ndkVersion + "-" + host.os + "-" + host.arch + ".zip"
 
-	url = "http://dl.google.com/android/ndk/" + ndkName
-	binPath = tmpdir + "/" + ndkName
+	url = "https://dl.google.com/android/repository/" + ndkName
+	binPath = *ndkdir
+	if binPath == "" {
+		binPath = tmpdir
+	}
+	binPath += "/" + ndkName
 
 	if _, err := os.Stat(binPath); err == nil {
 		log.Printf("\t%q: using cached NDK\n", ndkName)
@@ -336,6 +339,9 @@
 	if err != nil {
 		return "", err
 	}
+	if sc := resp.StatusCode; sc != http.StatusOK {
+		return "", fmt.Errorf("invalid HTTP status %d", sc)
+	}
 	hashw := sha256.New()
 	_, err = io.Copy(io.MultiWriter(hashw, f), resp.Body)
 	err2 := resp.Body.Close()
@@ -353,11 +359,8 @@
 }
 
 func inflate(dst, path string) error {
-	p7zip := "7z"
-	if runtime.GOOS == "darwin" {
-		p7zip = "/Applications/Keka.app/Contents/Resources/keka7z"
-	}
-	cmd := exec.Command(p7zip, "x", path)
+	unzip := "unzip"
+	cmd := exec.Command(unzip, path)
 	cmd.Dir = dst
 	out, err := cmd.CombinedOutput()
 	if err != nil {
