I was going to report this bug on Github but you guys redirect people to this place. There is no “bug” category so I feel a little bit confused. Hope you can handle the bug report from here. Thanks in advance.
We are using Travis for our Android app as part of our CI & CD pipeline. We updated the Android Gradle Plugin to 3.3.0-alpha03 which is using the
buildToolsVersion 28.0.3 and after building the project in our CI it failed complaining about a license not being accepted for the build tools 27.0.3.
As the documentation says:
By default, Travis CI will accept all the requested licenses
That means we shouldn’t handle anything at all whenever we update the build-tools. We wouldn’t even need to define a whitelist of licenses to be accepted, in theory:
licenses: - 'android-sdk-preview-license-52d11cd2' - 'android-sdk-license-.+' - 'google-gdk-license-.+'
I tried many many things. From adding the previous snippet to the Travis YAML to copying and echoing licenses manually:
- mkdir "$ANDROID_HOME/licenses" || true - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"
and other solutions from the StackOverflow community, and none worked.
Only a solution worked at first:
- yes | sdkmanager --update &>/dev/null - yes | sdkmanager --licenses &>/dev/null
But this is basically updating all the things everytime we create a build so it takes about 50 seconds. It shouldn’t be necessary.
It finally came to my head; why is it failing to accept the license for build tools 27.0.3 when I’m using 28.0.3. Apparently by using:
before_install: - yes | sdkmanager "build-tools;27.0.3"
it solves the problem, so there might be a bug on the Travis side because it should be doing that automatically, doesn’t it?
Thank you so much!