我遇到了一个奇怪的错误,无法找到解决方案:
* 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 吗?
最佳答案
尝试
- 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/