【发布时间】:2017-04-13 19:32:12
【问题描述】:
我已集成 CircleCI 以在我的应用上运行 Espresso 测试。我从另一个在线 github 存储库中获取了以下 circle.yml 文件,并将 android 构建工具和 android 版本更改为 25。但是,当我在 circleCI 服务器上运行构建时,出现以下错误。我已经在 yml 文件中授予了执行权限。
我的应用回购结构是
Action failed: gradle dependencies
export TERM="dumb"
if [ -e ./gradlew ]; then ./gradlew dependencies;else gradle dependencies;fi
bash: line 2: ./gradlew: Permission denied
export TERM="dumb"
if [ -e ./gradlew ]; then ./gradlew dependencies;else gradle dependencies;fi
returned exit code 126
Action failed: gradle dependencies
circle.yml:
general:
artifacts:
- /home/ubuntu/MyRideApp/app/build/outputs/apk/
machine:
environment:
ANDROID_HOME: /usr/local/android-sdk-linux
ADB_INSTALL_TIMEOUT: 240
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx3072M -XX:+HeapDumpOnOutOfMemoryError"'
dependencies:
pre:
- chmod +x gradlew
- touch app/google-services.json
- echo y | android update sdk --no-ui --all --filter "tools,android-25,build-tools-25.0.2,platform-tools,extra-android-m2repository,extra-android-support,extra-google-m2repository,extra-google-google_play_services"
cache_directories:
- /usr/local/android-sdk-linux/tools
- /usr/local/android-sdk-linux/build-tools/25.0.2
override:
- ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies
# Comment the test stuff out (or remove it) if you don't need it.
test:
pre:
- emulator -avd circleci-android23 -no-audio -no-window:
background: true
parallel: true
- circle-android wait-for-boot
# unlock emulator
- sleep 30
- adb shell input keyevent 82
override:
# - ./gradlew clean assemble
# This will run the tests:
- ./gradlew assemble connectedDebugAndroidTest -PdisablePreDex --console=plain --info
post:
- cp -r app/build/outputs $CIRCLE_ARTIFACTS
- cp -r app/build/outputs/androidTest-results/connected/ $CIRCLE_TEST_REPORTS
gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
/gradle/wrapper 确实包含 gradle-wrapper.jar
【问题讨论】:
-
这有点不清楚 - 整个
if [ -e ./gradlew ] ...内容不存在于您在此处粘贴的 circle.yml 中。 -
我是直接从他们网站上的circle ci 控制台获取的。你能告诉我如何找到完整的堆栈跟踪吗?
-
我无法确定可以从哪里运行。 CircleCI 结果页面说这对应于哪个步骤?
-
对应gradle依赖步骤
-
但是你在此处发布的 yml 文件中没有“gradle dependencies”步骤(最接近的是
ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies,但这不是一回事)。
标签: java android continuous-integration circleci