嗨,我有下一个travis配置:
语言:android
@Test
public void index() throws Exception {
this.mockMvc.perform(get("/api/").contextPath("/api").accept(MediaTypes.HAL_JSON))
.andExpect(status().isOk())
.andExpect(jsonPath("_links.business-cases", is(notNullValue())));
}
好的,如果我运行这个,请下载所有依赖项,但运行模拟器时停止它。
env:
global:
- JAVA8_HOME=/usr/lib/jvm/java-8-oracle
- TERM=dumb
jdk:
- oraclejdk8
android:
components:
- platform-tools
- tools
- build-tools-23.0.1
- build-tools-22.0.1
- android-23
- android-22
- extra
- extra-android-support
- extra-google-google_play_services
- extra-google-m2repository
- extra-android-m2repository
- addon-google_apis-google-23
- addon-google_apis-google-22
before_script:
- echo no | android create avd --force --name test --target android-21 --abi armeabi-v7a
- emulator -avd test -no-skin -no-audio -no-window -gpu off -no-boot-anim &
- android-wait-for-emulator
- adb shell input keyevent 82 &
script:
- ./gradlew :projectcore:checkstyle
- ./gradlew clean build -x lint
- ./gradlew :project:connectedAndroidTest
我不知道这是什么问题:S,有人对这个问题有什么线索吗?如果我删除android-wait-for-emulator继续执行但测试失败,因为模拟器尚未连接(有意义)。 想法?
答案 0 :(得分:4)
我发现了问题:尝试安装platform-tools
时,Travis无法移动文件夹,因为该文件夹存在并删除了文件夹内容,此文件夹为platforms-tools
,其中包含adb
}命令,解释了android-wait-for-emulator
失败的原因。
解决方案是从组件部分删除- platform-tools
和- tools
,因为默认情况下已提供。
修复这个问题很难,我相信这对任何人都有用。