Installing Android dependencies - android-update-sdk: command not found

The Android recipes/cookbook is desperately old and seemingly not maintained at the moment.

My advice is to manually set-up the sdkmanager CLI and let the Android Gradle plugin automatically download all nessesary dependencies. This feature is supported starting from Android Gradle 3.3 (https://developer.android.com/studio/intro/update#download-with-gradle). So it’s even easier than what @karcio described (you don’t need to tell Travis CI the SDK Plattform or Build Tools Version).

You can even use the language: minimal since it ships Java 8 to get the fastest possible boot times:

language: minimal
os: linux
dist: xenial
group: edge

env:
  global:
  # for updates check developer.android.com/studio#downloads (current 26.1.1)
  - ANDROID_SDK_TOOLS=sdk-tools-linux-4333796.zip

before_install:
  # set JAVA_HOME path
  - export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  # download and unzip Android SDK command line tools
  - wget -nv https://dl.google.com/android/repository/$ANDROID_SDK_TOOLS
  - unzip -q $ANDROID_SDK_TOOLS -d $HOME/sdk
  # set SDK tools path variable and ANDROID_HOME
  - export PATH=$PATH:$HOME/sdk/tools/bin
  - export ANDROID_HOME=$HOME/sdk
  # create empty cfg file to prevent sdkmanager warning message
  - mkdir -p $HOME/.android && touch $HOME/.android/repositories.cfg
install:
  # accept licenses for all available packages that have not already been accepted
  - yes | sdkmanager --licenses >/dev/null
before_script:
  # set executable flag for gradle wrapper
  - chmod +x gradlew
  # create dir for gradle settings
  - mkdir -p $HOME/.gradle
  # disable gradle daemon for current user
  - echo "org.gradle.daemon=false" >> $HOME/.gradle/gradle.properties
  # set gradle log format to plain
  - echo "org.gradle.console=plain" >> $HOME/.gradle/gradle.properties
1 Like