Travis CI build doesn't work with Android Constraint Layout
After the new release of the Support Library version 25.0.0, the Constraint Layout Alpha1 library apparently doesn't work anymore on TravisCI. Using that version was the only workaround at the moment.
Now I found a new workaround to use the new Alpha9 version. In your .travis.yml
file add:
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"
Do not forgot to accept all the licences on the main android
object:
licenses: - android-sdk-license-.+ - '.+'
Your build.gradle
is attempting to pull in com.android.support.constraint:constraint-layout:1.0.0-alpha2
. My SDK Manager only offers me 1.0.0-alpha1
(Rev 32 of the Android Support Repository). Perhaps Travis CI also only has 1.0.0-alpha1
as well.
Since I presume that you have 1.0.0-alpha2
working on your development machine, I am not quite certain what is going on here. There might be a glitch in the distribution packaging of the Android Support Repository or something.
There is an open issue https://code.google.com/p/android/issues/detail?id=212128
In short, com.android.support.constraint:constraint-layout:1.0.0-alpha1
is bundled into Google Repository but 1.0.0-alpha2
and later version is only available from gradle plugin which expects a license text being placed in $HOME/.android/license/
(if not found, try $ANDROID_HOME/licenses
).
You can copy the license text file from your local machine (after agreed to the license from SDK Manager provided by Android Studio 2.2) to the CI server as mentioned in the issue. Or downgrade to 1.0.0-alpha1
to fix the problem.