我正在尝试使用Travis-CI构建我的应用程序。
但由于某种原因,它不断给出这个错误:
The command "./gradlew build connectedCheck" exited with 1.
这就是我的.travis.yml:
language: android
before_install:
- chmod +x gradlew
android:
components:
- tools
- platform-tools
- build-tools-27.1.1
- android-27
script:
- ./gradlew build connectedCheck
这里有一个链接到我的Travis构建:
https://travis-ci.org/Luuk2016/WeatherApp-Android/jobs/371162957
我的build.gradle文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.example.district420.weatherapp"
minSdkVersion 21
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
希望有人可以帮助我
答案 0 :(得分:1)
您的构建失败,因为您尚未接受Android SDK包的许可。将此行添加到 travis.yml。
env:
global:
- ANDROID_API_LEVEL=27
- ANDROID_EMULATOR_LEVEL=21
- ANDROID_BUILD_TOOLS_VERSION=27.0.3
- ANDROID_ABI=armeabi-v7a
- ANDROID_TAG=google_apis
- ADB_INSTALL_TIMEOUT=20
编辑:
由于“无连接设备”错误,您的构建现在失败了。您必须在travis中创建一个模拟器并在其上运行检测测试。 在travis.yml文件中也添加这些行。
- android-$ANDROID_EMULATOR_LEVEL
- sys-img-armeabi-v7a-google_apis-$ANDROID_EMULATOR_LEVEL
将这些行添加到travis文件的components部分。
before_script:
# Create and start emulator.
- echo no | android create avd --force -n test -t "android-"$ANDROID_EMULATOR_LEVEL --abi $ANDROID_ABI --tag $ANDROID_TAG
- emulator -avd test -no-window &
- android-wait-for-emulator
- adb shell input keyevent 82 &
添加这些行
sudo: false
另外,将其添加为travis.yml的第一行
onActivate(event){
this.yourService.getData().subscribe(x=>{
event.data = x; // this is where you are assigning the data to child
})