我通过删除~/这样的本地目录来清理整个项目。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-wrapper.jar文件一直被git破坏。

我们必须添加一个.gitattributes文件:

*.jar binary

然后从git中删除jar并再次添加它。奇怪的是,这只要求我们的一个回购,而不是其他。

其他回答

我修复了这个问题的下一个修复(也许它会帮助别人):

只需检查项目文件夹的父文件夹名称中是否包含空格或其他禁止使用的字符。如果存在,请移除。

"C:\Users\someuser\Test Projects\testProj" -在本例中,"TestProjects"应该是"TestProjects"。

对我有效的方法是:

 gradle wrapper

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

./gradlew assembleRelease

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

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

我顺着上面的答案发现了这个。如果你有这个问题,一定要强制推送jar和属性文件。这两期之后,我就不再看这期了。

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

如果您使用的是MacOS,并且。/gradle/wrapper/gradle-wrapper.jar文件已经存在,但仍然抛出相同的错误,这可能是由于MacOS对Documents文件夹的java权限。

去系统首选项->安全和隐私->隐私选项卡->文件和文件夹-> Java,并检查“文档文件夹”复选框(或任何其他可能出现在你的应用程序)。

我和这个东西斗争了几个小时,所以我希望它对某人有用。

我们的问题是gradle-wrapper.jar文件一直被git破坏。

我们必须添加一个.gitattributes文件:

*.jar binary

然后从git中删除jar并再次添加它。奇怪的是,这只要求我们的一个回购,而不是其他。