我通过删除~/这样的本地目录来清理整个项目。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

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


当前回答

你也可以拷贝gradlew.bat到你的根文件夹和拷贝gradlew-wrapper到gradlew文件夹。

那是我的工作。

其他回答

对我有效的方法是:

 gradle wrapper

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

./gradlew assembleRelease

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

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

我得到了这个错误,因为我的应用程序是在一个文件夹,有一个阿拉伯语的名字,我解决它,只是改变阿拉伯语文件夹的名字为英语一个,它工作正常。

所以要确保你的应用程序的所有路径都是用英文写的。

在我的情况下gradle-wrapper.jar在替换了一堆文件后被损坏。回到原来的那个解决了这个问题。

@HankCa也解决了我的问题。我决定将危险的**/*.jar忽略改为src/**/lib/*.jar,以避免将来出现此类问题。忽略以**/*开头的内容有点太危险了,至少对我来说是这样。通过观察得到。gitignore row背后的想法总是一个好主意。

在我的例子中,它是一个全局的。gitignore,正如@HankCa的回答所解释的那样。

我没有在每个Gradle项目中强制添加jar,而是在全局的.gitignore中重新包含了包装器jar:

*.jar
!gradle/wrapper/gradle-wrapper.jar

这对我来说很有用,因为我有很多使用Gradle的项目;Git现在会提醒我包含包装器jar。

只要gradle-wrapper.jar上面的目录(比如gradle和wrapper)没有被忽略,这个重写就可以工作——出于性能原因,git不会进入被忽略的目录。