我通过删除~/这样的本地目录来清理整个项目。gradle ~ /。m2 ~。~/workspace/project/。gradle和选择文件-> Invalidate Caches / Restart…在Android Studio。 现在执行./gradlew命令会得到以下输出:

usr$ ./gradlew tasks
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

不用说,我删掉的太多了,问题是怎样才能重新修复呢?你有什么解决办法吗?


当前回答

它也可能发生,你失去了gradle文件夹的执行权限,所以

sudo chmod -R +x ./gradle

将有助于解决问题。

其他回答

对我有效的方法是:

 gradle wrapper

在成功构建之后,我可以运行了

./gradlew assembleRelease

注意:为了能够运行gradle包装器,首先运行brew安装gradle。如果安装成功,从项目根运行gradle包装器。

来源和感谢:http://gradle.org/docs/current/userguide/gradle_wrapper.html和https://stackoverflow.com/users/745574/rage

我刚刚在OS X中解决了这个问题,如下所示:

$ gradle wrapper

现在,您可以运行构建命令,

 $ ./gradlew build 

在我的情况下(使用windows 10) gradlew.bat有以下几行代码:

set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%

APP_HOME变量本质上是项目的gradles根文件夹,所以,如果这在某种程度上搞砸了,你会得到:

错误:无法找到或加载主类 org.gradle.wrapper.GradleWrapperMain

对我来说,这是一团糟,因为我的项目文件夹结构中有一个&号。例如C: \ Test&Dev \ MyProject的

所以,grader试图在C:\Test的根文件夹中找到gradle-wrapper.jar文件(剥离后面的所有内容,包括'&')

通过在上面的set APP_HOME=%DIRNAME%行下面添加以下行,我发现了这一点。然后运行bat文件查看结果。

echo "%APP_HOME%"

还有其他一些“特殊字符”可能会破坏路径/目录。

除了@RaGe的答案可能是我所面临的情况,我有一个全局git忽略忽略。jar文件,所以gradle包装器jar永远不会被提交。因此,在尝试/var/lib/jenkins/my_project/gradlew构建后,我在Jenkins服务器上得到了这个错误。我必须显式地强制添加jar,然后提交:

git add -f gradle/wrapper/gradle-wrapper.jar

从你任何正在运行的项目中复制Gradle的文件夹。 将其替换到当前项目中

然后重建 我希望你工作顺利。