android - TravisCI Android 构建仅在 CI 上失败,而非本地失败

标签 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

最佳答案

尝试

- build-tools-22.0.1

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

Build Tools, Revision 22.0.0 (March 2015) Added support for Android 5.1 (API level 22).

我认为这是连接edAndroidTest。

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

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

更新2:我 fork 了你的项目,尝试了我的建议,但没有成功。但我关注了关于添加的讨论

retrolambda {
  jvmArgs '-noverify'
}

就像你已经做的那样。还有this variant ,我没有读它并匆忙找到解决方案并且有效:)

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

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

关于android - TravisCI Android 构建仅在 CI 上失败,而非本地失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31164683/

相关文章:

Groovy 列表包含 [x..y] 上的方法

build - Electron 应用程序Travis CI构建失败

Android - 发送许多多部分消息会错过其中一些

android - 无法使用ContentResolver查询方法,NoSuchMethodError

android - 自定义标记 - MPAndroidChart

r - 在 Travis-CI 中使用 Packrat(而不是 CRAN)中的 R 包源文件

reactjs - 由于 "COPY failed: no such file or directory"错误,docker build 失败

android - 如何在android中更新列表

grails - 在 Groovy 中,有没有办法知道包含闭包的变量的名称?

groovy - 我可以从 Java 向 Groovy 基本脚本动态添加方法吗?