gradlew:拒绝许可

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

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

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

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

331079 次浏览

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

chmod +x gradlew

你可以在命令前使用“bash”:

bash ./gradlew compileDebug --stacktrace

Jenkins >项目仪表板>(选择gradle项目)配置>构建

x使用Gradle Wrapper

使gradlew可执行x

enter image description here

如果它在chmod'ing后不起作用,请确保您没有试图在/tmp目录中执行它。

还可以固定用吗

git update-index --chmod=+x gradlew

Git update-index——chmod=+x gradlew

这个命令在非unix系统上工作得更好。

你需要更新gradlew的执行权限

在本地: chmod +x gradlew

Git:

git update-index --chmod=+x gradlew
git add .
git commit -m "Changing permission of gradlew"
git push

你应该看到:

mode change 100644 => 100755 gradlew

试试下面的命令:

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

我得到了同样的错误,试图在mac上执行扑动运行。显然,在您的扑动项目中,有一个文件android/gradlew,预计是可执行的(它不是)。在我的例子中,

chmod a+rx android/gradlew

我使用这个命令并执行项目

只要在Android Studio终端(或你的Linux/Mac终端)中输入这个command

chmod +x gradlew

试着:

 ./gradlew assembleDebug

enter image description here

在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。使用

在CentOs / Fedora

yum install dos2unix

在Ubuntu和其他发行版中

sudo apt install dos2unix

仅适用于Linux

视图比;工具窗口>终端

之前

./gradlew.bat tasks

./gradlew tasks

./gradlew dokkaHtml

有时错误只是一个拼写错误,使用< >强gradle < / >强而不是< >强gradlew < / >强包装器。

enter image description here

对于在android studio中遇到此问题的Windows用户,请将终端从Windows PowerShell更改为cmd

在你的终端超过它: Chmod 755 android/gradlew.