我想爲我的項目之一使用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 :無法訪問軟件包管理器系統是否正在運行?) –
我要求將它發佈在評論中,但作爲您的問題的一部分。那麼你的問題看起來會非常好。 –