我试图从我的命令行运行gradlew,但不断面临以下错误。

Brendas-MacBook-Pro:appx_android brendalogy$ ./gradlew compileDebug --stacktrace
-bash: ./gradlew: Permission denied

我已经在我的项目目录中运行这个命令。需要运行这个命令,因为我在Android Studio 0.2上面临相同的(非描述性)错误。Android studio和gradle的构建错误

我是否做错了什么,我该如何解决这个问题?


当前回答

在android文件夹CMD运行

chmod +x gradlew

和运行

./gradlew clean

根项目运行

react-native run-android

其他回答

通过这一步设置gradlew的权限

steps {
    echo 'Compile project'
    sh "chmod +x gradlew"
    sh "./gradlew clean build --no-daemon"
}

当您将windows中的android项目构建迁移到任何unix操作系统(Linux)时,会出现此问题。因此,您需要在项目目录中运行以下命令将dos换行符转换为Unix换行符。

find . -type f -print0 | xargs -0 dos2unix

如果您没有安装dos2unix。使用

In CentOs / Fedora

yum install dos2unix

在Ubuntu和其他发行版中

sudo apt install dos2unix

试着在gradlew文件上设置执行标志:

CHMOD +X Gradlew

试试下面的命令:

chmod +x gradlew && ./gradlew compileDebug --stacktrace

如果你在Github操作中遇到这个错误,你需要在。/gradlew assembleDebug之前添加这个步骤:

  - name: Make gradlew executable
    run: chmod +x ./gradlew