我想为我的项目之一使用travis CI,但我无法使其工作。我设法使.travis.yml配置文件和构建传递。但是令人惊讶的是,当我在几个小时之后推出提交时,构建开始失败。另外,当我重新启动之前传递的构建时,构建失败。我不明白为什么这是随机发生的。Travis CI错误:无法访问软件包管理器。系统正在运行吗?
这里是特拉维斯日志: Travis Log
和.travis.yml文件看起来像这样:
language: android
jdk: oraclejdk8
sudo: required
env:
matrix:
- ANDROID_TARGET=android-21 ANDROID_ABI=armeabi-v7a
android:
components:
- tools
- platform-tools
- tools
- build-tools-26.0.2
- $ANDROID_TARGET
- android-26
- sys-img-armeabi-v7a-$ANDROID_TARGET
licenses:
- android-sdk-preview-license-.+
- android-sdk-license-.+
- google-gdk-license-.+
before_install:
- mkdir "$ANDROID_HOME/licenses" || true
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"
- echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"
- chmod +x gradlew
- ./gradlew dependencies || true
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache
before_script:
# Create and start emulator
- echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI
- emulator -avd test -no-skin -no-audio -no-window &
- adb wait-for-device
- adb shell input keyevent 82 &
script: ./gradlew connectedAndroidTest
而且gradle这个文件的相关片段:
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.amit.realmmvp"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}
有类似的问题堆栈溢出关于同样的问题,但他们都涉及到android studio和模拟器没有入门。但是,在travis配置文件中,我已经要求它等到仿真器上线使用- adb wait-for-device
任何人都可以请帮我弄清楚这一点吗?谢谢。
编辑
构建过程失败的位置:
:app:connectedDebugAndroidTestUnable to install /home/travis/build/AmitBarjatya/RealmMvp/app/build/outputs/apk/debug/app-debug.apk
com.android.ddmlib.InstallException: Unknown failure (Error: Could not access the Package Manager. Is the system running?)
at com.android.ddmlib.Device.installRemotePackage(Device.java:1004)
at com.android.ddmlib.Device.installPackage(Device.java:911)
at com.android.builder.testing.ConnectedDevice.installPackage(ConnectedDevice.java:122)
at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:126)
at com.android.builder.internal.testing.SimpleTestCallable.call(SimpleTestCallable.java:52)
at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
你能在这里发布Travis日志的问题部分吗? –
它实际上在这里失败:app:connectedDebugAndroidTestUnable安装/home/travis/build/AmitBarjatya/RealmMvp/app/build/outputs/apk/debug/app-debug.apk com.android.ddmlib.InstallException:Unknown failure(Error :无法访问软件包管理器系统是否正在运行?) –
我要求将它发布在评论中,但作为您的问题的一部分。那么你的问题看起来会非常好。 –