Сборка Android TravisCI дает сбой только на CI, а не локально

Я получил странную ошибку и не могу найти решение:

* What went wrong:
Execution failed for task ':app:compileDebugAndroidTestGroovy'.
> Unable to load class de.rheinfabrik.mvvm_example.activities.DetailsActivity due to missing dependency android/support/v4/view/LayoutInflaterFactory

Но это невозможно. Этот проект работает локально. Так же есть зависимость.

Вот мой .travis.yml

language: android
jdk: oraclejdk8
env:
  matrix:
   - ANDROID_TARGET=android-22  ANDROID_ABI=armeabi-v7a
  global:
  - TERM=dumb

android:
  components:
    - build-tools-21.1.2
    - android-22
    - sys-img-armeabi-v7a-android-22
    - extra

# Emulator Management: Create, Start and Wait
before_script:
  - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI
  - emulator -avd test -no-skin -no-audio -no-window &
  - android-wait-for-emulator
  - adb shell input keyevent 82 &

script: cd MVVM-Example && ./gradlew app:connectAndroidTest --stacktrace -PdisablePreDex

Кто-нибудь знает, почему отсутствует зависимость LayoutInflaterFactory?

https://travis-ci.org/AHarazim/android-mvvm-example


person Adam    schedule 01.07.2015    source источник
comment
У вас серьезные проблемы с версиями. Целевой API 22, убедитесь, что ваши инструменты сборки 22.0.1. Убедитесь, что ваши зависимости обновлены до 22.2.0, здесь: github.com/AHarazim/android-mvvm-example/blob/master/. И вам не хватает - extra-android-m2repository из .travis.yml.   -  person Jared Burrows    schedule 03.07.2015
comment
@JaredBurrows Я обновился до последних инструментов сборки, но все еще не работает.   -  person Adam    schedule 21.07.2015
comment
@JaredBurrows Сборки выполняются в ветке devTravisCi... И если я напишу - extra, то все дополнения будут обновлены, включая m2repository.   -  person Adam    schedule 21.07.2015
comment
Вы только сейчас комментируете после всего этого времени? У вас даже нет файла .travis.yml в репозитории.   -  person Jared Burrows    schedule 21.07.2015
comment
Сорри, я был в отпуске. К вашему сведению, у меня есть файл .travis.yml в ветке devTravisCi, а не в ветке master.   -  person Adam    schedule 21.07.2015


Ответы (1)


Пытаться

- build-tools-22.0.1

http://developer.android.com/tools/revisions/build-tools.html

Инструменты сборки, редакция 22.0.0 (март 2015 г.) Добавлена ​​поддержка Android 5.1 (уровень API 22).

И я думаю, что это связано сedAndroidTest.

Обновите, попробуйте получить последние версии инструментов, Travis-ci отменил последнее обновление ВМ, удачи, если это не сработает, другой возможной причины я не знаю:

language: android
    android:
      components:
        - platform-tool
        - tool
        - android-22
        - build-tools-22.0.1
        - extra-android-m2repository
        - extra-google-m2repository
        - sys-img-armeabi-v7a-android-22

Update2: я разветвил ваш проект, попробовал свои предложения, и это не сработало. Но я следил за дискуссией о добавлении

retrolambda {
  jvmArgs '-noverify'
}

Как вы уже сделали. И был этот вариант, я не стал его читать и бросился решение и работает :)

script: 
  - cd MVVM-Example
  - ./gradlew prepareDebugDependencies
  - ./gradlew assembleDebug # you can run clean before assemble
  - ./gradlew app:connectedAndroidTest --info

Я не знаком с этой ретролямбдой, пожалуйста, объясните решение для других, если оно работает для вас, я думал, что это простая проблема с travis.

person albodelu    schedule 02.07.2015
comment
И я не уверен, поддерживает ли Android jdk8 groups.google.com/ форум/#!topic/adt-dev/kVku6XfiQx4 - person albodelu; 03.07.2015
comment
JDK должен подойти, см. github.com/robolectric/deckard- град/блоб/мастер/.travis.yml - person Jared Burrows; 03.07.2015
comment
@Ardock JDK отлично работает локально. Я все обновил, но все равно не получается :-( - person Adam; 21.07.2015
comment
Хорошо, что JDK8 поддерживается. Я обновил свой ответ как последнюю попытку. Если не получится, попробуй андроид-21, причину не знаю. - person albodelu; 21.07.2015
comment
@Ардок Круто! Спасибо, ваше решение от Update2 работает для меня! - person Adam; 22.07.2015