安卓工作室 Build/Clean

36

为了编译外部JAR包,我必须使用终端并进行清理。但是,当我进入项目的根目录并执行

gradlew clean

时,我会收到以下消息:

-bash:gradlew:未找到命令

这是我应用程序文件夹主目录的屏幕截图。

如果您需要其他任何信息,请告诉我,我不确定为什么会发生这种情况。


请使用gradle clean命令来代替gradlew clean。您是否已经安装了Gradle? - pepuch
2
也许就是这样 - 我以为它是随 Android Studio 一起提供的。我错了吗?Android Studio 首先使用 Gradle 进行编译,对吧?gradle clean 也没有帮助。 - Kgrover
当您调用 gradle clean 后,控制台会显示什么? - pepuch
同样的事情 - 命令未找到 - Kgrover
1
好的。我认为Android Studio会安装Gradle,但不会将其添加到系统PATH中。如果您想使用命令行构建应用程序而不是IDE,请找到Android Studio安装Gradle的位置,并将其路径添加到PATH环境变量中。 - pepuch
7
请使用命令"./gradlew clean"来运行。 - Siva Velusamy
3个回答

101

gradlew不在你的全局路径中。要在终端中使用gradle wrapper(即gradlew)在你的项目目录下执行“clean”任务(或任何其他任务),请用“./”指定当前目录:

./gradlew clean

30
在 Mac 上运行时,您还需要对文件执行“chmod 755 gradlew”以使其可执行。 - Simon Bengtsson
9
如果您正在使用Linux,跟随@SimonBengtsson的建议,您必须在执行"./gradlew clean"之前执行"sudo chmod +x gradlew"以确保可执行性。在我执行此操作之前,它无法正常工作。 - Dick Lucas
如果您使用“gradle wrapper”命令创建它,则gradlew将成为可执行文件。 - smilyface

0

gradlew 不在您的全局路径中。要在终端中使用 gradle wrapper (gradlew) 在您的项目目录中执行“rebuild”任务(或任何任务),请使用“./”指定当前目录:

./gradlew rebuild


0

你需要先运行这个来授予权限:

chmod 777 gradlew

这个可行。我猜这一步是必需的,因为Gradle是由Android Studio安装而不是用户安装的。因此运行此命令使gradlew clean或任何gradlew命令起作用。不知道为什么会被投票否决。 - sofs1
这也会额外创建一个安全漏洞。 :) 不要在没有彻底理解的情况下遵循 Stack Overflow 的建议。 - Rudolf Adamkovič

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接