-
Notifications
You must be signed in to change notification settings - Fork 15
/
.travis.yml
80 lines (70 loc) · 3.06 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
language: android
sudo: required
jdk: oraclejdk8
env:
global:
- ANDROID_API=25
- EMULATOR_API=19
- ANDROID_BUILD_TOOLS=25.0.2
- ADB_INSTALL_TIMEOUT=20 # minutes
android:
components:
- tools
- platform-tools
- build-tools-$ANDROID_BUILD_TOOLS
- android-$ANDROID_API
- android-$EMULATOR_API
- extra-google-m2repository
- extra-android-m2repository # for design library
- addon-google_apis-google-$ANDROID_API # google play services
- sys-img-armeabi-v7a-addon-google_apis-google-$ANDROID_API
- sys-img-armeabi-v7a-android-$EMULATOR_API # the fix!
licenses:
- android-sdk-preview-license-.+
- android-sdk-license-.+
- google-gdk-license-.+
before_install:
- mkdir "$ANDROID_HOME/licenses" || true
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"
- echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"
- rm -fr $HOME/android-ndk-r16b
#- curl -L http://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip -O
#- unzip -oq android-ndk-r16b-linux-x86_64.zip
#- rm android-ndk-r16b-linux-x86_64.zip
#- export ANDROID_NDK_HOME=$HOME/android-ndk-r16b
- chmod +x gradlew
- echo y | android update sdk --no-ui --all --filter "tool,extra-android-m2repository,extra-android-support,extra-google-google_play_services,extra-google-m2repository"
- echo y | $ANDROID_HOME/tools/bin/sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2"
- ./gradlew dependencies || true # DON'T ADD unless you are getting "Install missing components using SDK manager"
#Source: https://medium.com/@oldergod/constraint-layout-and-circleci-travis-d50342696d2
- adb logcat > logcat.log &
install:
- echo y | sdkmanager 'ndk-bundle'
- echo y | sdkmanager 'cmake;3.6.4111459'
- echo y | sdkmanager 'lldb;3.0'
before_script:
- echo "y" | android update sdk -a --no-ui --filter android-$EMULATOR_API
- echo "y" | android update sdk -a --no-ui --filter sys-img-armeabi-v7a-android-$EMULATOR_API
- android list targets | grep -E '^id:' | awk -F '"' '{$1=""; print $2}' # list all targets
- echo no | android create avd --force -n test -t android-$EMULATOR_API --abi armeabi-v7a
- travis_wait 20 emulator -avd test -no-window -gpu auto &
- android-wait-for-emulator
- adb shell settings put global window_animation_scale 0.0 &
- adb shell settings put global transition_animation_scale 0.0 &
- adb shell settings put global animator_duration_scale 0.0 &
- adb shell input keyevent 82 &
script:
- "./gradlew clean build connectedCheck -PdisablePreDex --stacktrace"
# disable instrumentation tests until they are working:
#- "./gradlew clean build -PdisablePreDex --stacktrace"
after_failure:
- cat logcat.log
after_success:
- bash <(curl -s https://codecov.io/bash)
notifications:
webhooks:
urls:
- "https://webhooks.gitter.im/e/6f795865e6068238fd7e"
on_success: always # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: never # options: [always|never|change] default: always