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