No se puede construir el proyecto con Travis-CI y Android
He estado intentando durante los últimos 2 días construir un CI con travis y android.
El problema es que, independientemente de que solucione un problema, aparece otro
- Travis-ci build sigue fallando con ShellCommandUnresponsiveException
- Las pruebas de Android fallan en Travis con ShellCommandUnresponsiveException
- La construcción de Travis CI falló
- Cómo corregir el permiso gradlew denegado en travis.yml?
- Com.android.builder.testing.ConnectedDevice> hasTests FALLA
Busco en la pila para el anwser, pero ninguno solucionar mi problema
No ha aceptado los acuerdos de licencia de los siguientes componentes de SDK: [com.android.support.constraint: constraint-layout: 1.0.0-alpha4, com.android.support.constraint: constraint-layout-solver: 1.0.0- Alfa4].
Mi raíz build.gradle:
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0-beta1' //Dagger 2 dependency classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' //Realm Dependecies classpath "io.realm:realm-gradle-plugin:1.1.1" } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
App build.gradle
apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' //Realm Dependecies apply plugin: 'realm-android' android { signingConfigs { } compileSdkVersion 24 buildToolsVersion "24.0.1" dataBinding { enabled = true } defaultConfig { applicationId "rhcloud.com.financialcontrol" minSdkVersion 15 targetSdkVersion 24 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { androidTestCompile('com.android.support.test:runner:0.5', { exclude group: 'com.android.support', module: 'support-annotations' }) androidTestCompile('com.android.support.test:rules:0.5', { exclude group: 'com.android.support', module: 'support-annotations' }) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:design:24.1.1' //Dagger 2 dependencies apt 'com.google.dagger:dagger-compiler:2.0' compile 'com.google.dagger:dagger:2.0' provided 'javax.annotation:jsr250-api:1.0' compile 'klauswk:DroidUtils:0.1-ALPHA' }
.travis.myl
android: components: - tools - platform-tools - build-tools-24.0.1 - android-24 - extra-android-m2repository - extra-android-support - sys-img-armeabi-v7a-android-22 - extra-google-google_play_services licenses: - android-sdk-preview-license-52d11cd2 - android-sdk-license-.+ - google-gdk-license-.+ before-script: - "android update sdk --no-ui --filter build-tools-24.0.1,android-24,extra-android-m2repository" - "echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a" - "emulator -avd test -no-skin -no-audio -no-window &" - android-wait-for-emulator - "adb shell input keyevent 82 &" before_cache: - "rm -f $HOME/.gradle/caches/modules-2/modules-2.lock" before_install: - "chmod +x gradlew" cache: directories: - $HOME/.gradle/caches/ - $HOME/.gradle/wrapper/ env: matrix: - "ANDROID_TARGET=android-22 ANDROID_ABI=armeabi-v7a" jdk: oraclejdk8 language: android script: - "./gradlew build connectedCheck --stacktrace"
Cualquier ayuda sería apreciar, el código fuente se puede encontrar aquí
EDITADO
Finalmente consigo hacer que funcione.
En primer lugar, para solucionar el problema de la licencia, baje el buildtools y compile hasta 23, y agregó 'com.android.support.constraint:constraint-layout:1.0.0-alpha1'
como dependencia.
Además, por el anwser de Ardock, logro encontrar un error en mi travis.yml.
Finalmente, android-sdk-license-c81a61d9
añadido el android-sdk-license-c81a61d9
para aceptar automáticamente la licencia.
El compromiso de trabajo se puede encontrar aquí
- Travis-CI Android pruebas con Gradle mantener el tiempo de espera
- Travis CI skip pruebas (Gradle Android proyecto)
- Travis.yml ./gradlew: Permiso denegado
- ¿Es gradlew obligatorio para que travis CI funcione?
- Error de compilación de Android: filtro de paquete desconocido
- ¿Hay una manera de iniciar el emulador de Android en Travis CI construir?
- Travis CI se queda atascado en la creación de herramientas de construcción en Android
- ¿Por qué Travis CI descarga todo lo que construye cada vez?
Editado:
Reemplazar before-script:
por before_script:
Este bloque no se ejecuta de otra manera.
Respuesta anterior:
Ver esta línea
Saltar 'ARM EABI v7a Imagen del sistema, Android API 22, revisión 1'; Depende de 'plataforma SDK Android 5.1.1, API 22, revisión 2' que no se instaló.
Parece que ya resolvió el problema de la licencia, pero es necesario instalar la plataforma android-22.
android: components: - tools - ... - android-22 - sys-img-armeabi-v7a-android-22 - ...
O una imagen para Android-23 para resolver:
Com.android.builder.testing.api.DeviceException: ¡No hay dispositivos conectados!
- Cómo almacenar Lista de dispositivos adb en la red en php array
- Como llegar "Bus Service No" usando google api