From 7814a8e1315b1746d5260562de4c0b6f161a1cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 20 Jan 2017 11:33:58 +0200 Subject: [PATCH] travis: Install Android NDK explicitly, removed from gomobile (#3593) The Android NDK was recently removed from gomobile, leading to our Android builds failing. Starting from https://go-review.googlesource.com/#/c/35173/ , gomobile requires a locally installed NDK. This PR ensures that travis installs that too before running the build steps. --- .travis.yml | 3 ++- build/ci.go | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index baa5db7ba..3384f3ec6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -65,10 +65,11 @@ matrix: # Build the Android archive and upload it to Maven Central and Azure - brew update - - brew install android-sdk maven gpg + - travis_wait 60 brew install android-sdk android-ndk maven gpg - alias gpg="gpg2" - export ANDROID_HOME=/usr/local/opt/android-sdk + - export ANDROID_NDK=/usr/local/opt/android-ndk - echo "y" | android update sdk --no-ui --filter `android list sdk | grep "SDK Platform Android" | grep -E 'API 15|API 19|API 24' | awk '{print $1}' | cut -d '-' -f 1 | tr '\n' ','` - go run build/ci.go aar -signer ANDROID_SIGNING_KEY -deploy https://oss.sonatype.org -upload gethstore/builds diff --git a/build/ci.go b/build/ci.go index a3213e7c9..319691e8a 100644 --- a/build/ci.go +++ b/build/ci.go @@ -700,9 +700,16 @@ func doAndroidArchive(cmdline []string) { flag.CommandLine.Parse(cmdline) env := build.Env() + // Sanity check that the SDK and NDK are installed and set + if os.Getenv("ANDROID_HOME") == "" { + log.Fatal("Please ensure ANDROID_HOME points to your Android SDK") + } + if os.Getenv("ANDROID_NDK") == "" { + log.Fatal("Please ensure ANDROID_NDK points to your Android NDK") + } // Build the Android archive and Maven resources build.MustRun(goTool("get", "golang.org/x/mobile/cmd/gomobile")) - build.MustRun(gomobileTool("init")) + build.MustRun(gomobileTool("init", "--ndk", os.Getenv("ANDROID_NDK"))) build.MustRun(gomobileTool("bind", "--target", "android", "--javapkg", "org.ethereum", "-v", "github.com/ethereum/go-ethereum/mobile")) if *local {