【问题标题】:CircleCI ./gradlew: Permission deniedCircleCI ./gradlew:权限被拒绝
【发布时间】:2018-02-22 04:49:48
【问题描述】:

我有一个Github 存储库,它基于CircleCI 构建。我收到以下错误:

export TERM="dumb" if [ -e ./gradlew ];然后 ./gradlew 依赖项;其他 gradle 依赖项;fi bash:第 2 行:./gradlew: 权限被拒绝

export TERM="dumb" if [ -e ./gradlew ];然后 ./gradlew 依赖项;其他 gradle 依赖项;fi 返回退出代码 126

操作失败:gradle 依赖项

我不知道这是什么原因造成的,因为我在 circle.yml 文件中授予了必要的权限。

test:
  override:
    - echo y | android update sdk --no-ui --all --filter tools,platform-tools,build-tools-21.1.2,android-21,extra-google-m2repository,extra-google-google_play_services,extra-android-support
    - chmod 777 gradlew
    - chmod a+x gradlew
    - ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies
    - ./gradlew testVanillaDebugUnitTest -PdisablePreDex
    - echo "y" | sudo /opt/google-cloud-sdk/bin/gcloud beta test android run --app app/build/outputs/apk/app-vanilla-debug.apk --test app/build/outputs/apk/app-vanilla-debug-androidTest.apk --device-ids Nexus5 --os-version-ids 22 --locales en --orientations portrait

【问题讨论】:

标签: android gradle circleci gradlew


【解决方案1】:
  • 运行:chmod +x gradlew
  • 运行:./gradlew assemble

所以,先设置权限,然后运行你想要的命令

【讨论】:

    【解决方案2】:

    看着你circle.yml(发现here),失败不是来自第25行或第26行,而是第14行。

    请注意执行顺序是

    1. 依赖关系:pre
    2. 依赖关系:发布
    3. 测试:覆盖
    4. 测试:发布

    所以你需要做的是删除第 23、24 行并添加chmod +x gradlew 作为dependencies:pre 中的第一个命令

    【讨论】:

    • 它对此有所帮助,但还有另一个 Gradle 错误,我无法解决:./gradlew assembleVanillaDebug assembleVanillaDebugAndroidTest -PdisablePreDex returned exit code 1
    • @plaidshirt 我强烈建议您接受这个答案并发布一个带有此错误的新问题。帮助你解决这个问题会更容易。 ?
    猜你喜欢
    • 2013-07-14
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    相关资源
    最近更新 更多