From 3a542cc80cee6674ced961eddcae49408aa06fdd Mon Sep 17 00:00:00 2001 From: Greg Pomerantz Date: Mon, 22 Jun 2020 11:50:05 -0400 Subject: [PATCH] cmd/gogio: [Android] check $ANDROID_NDK_ROOT If the Android NDK is not found in a standard location (e.g. you are on an F-Droid build server), check the $ANDROID_NDK_ROOT environment variable. Signed-off-by: Greg Pomerantz --- cmd/gogio/androidbuild.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/gogio/androidbuild.go b/cmd/gogio/androidbuild.go index 7f14a0a5..d3ddbf7f 100644 --- a/cmd/gogio/androidbuild.go +++ b/cmd/gogio/androidbuild.go @@ -591,7 +591,15 @@ func findNDK(androidHome string) (string, error) { if _, err := os.Stat(ndkBundle); err == nil { return ndkBundle, nil } - return "", fmt.Errorf("no NDK found in $ANDROID_HOME (%s). Use `sdkmanager ndk-bundle` to install it", androidHome) + // Certain non-standard NDK isntallations set the $ANDROID_NDK_ROOT + // environment variable + if ndkBundle, ok := os.LookupEnv("ANDROID_NDK_ROOT"); ok { + if _, err := os.Stat(ndkBundle); err == nil { + return ndkBundle, nil + } + } + + return "", fmt.Errorf("no NDK found in $ANDROID_HOME (%s). Set $ANDROID_NDK_ROOT or use `sdkmanager ndk-bundle` to install the NDK", androidHome) } func findKeytool() (string, error) {