TravisCI Android构建仅在不在本地的CI上失败

时间:2015-07-01 14:47:50

标签: android groovy travis-ci spock

我遇到了一个奇怪的错误,无法找到解决方案:

* 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

1 个答案:

答案 0 :(得分:2)

尝试

jalali_date

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

  

构建工具,修订版22。0。0(2015年3月)添加了对Android的支持   5.1(API级别22)。

我认为这是连接 ed AndroidTest。

更新,尝试获取最新的工具版本,Travis-ci还原了最新的VM更新,祝你好运,如果这不起作用,我不知道另一个可能的原因:

- build-tools-22.0.1

Update2 :我分叉了你的项目,尝试了我的建议,但它没有用。但我跟着讨论要添加

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

正如你已经做过的那样。有this variant,我没有阅读它并赶紧去解决方案工作:)

retrolambda {
  jvmArgs '-noverify'
}

我不熟悉这个retrolambda的东西,请解释其他的解决方案,如果它适合你,我认为这是一个简单的travis问题。