我在Android Studio中调试Gradle问题并看到“运行gradle sync”的引用,但我不知道如何运行此命令。
如何从Android studio或Mac终端运行“Gradle sync”?
gradle --recompile-scripts
它会在不构建任何内容的情况下进行同步
或者,使用根项目中的命令行
./gradlew build
它将同步和构建您的应用,并且花费的时间不仅仅是Gradle同步
要查看所有可用的gradle任务,请使用./gradlew tasks
键盘快捷键爱好者可以通过转到文件 - >设置 - >键盘映射 - >插件 - > Android支持 - >使用gradle文件同步项目(右键单击它以添加键盘快捷键)来添加手动运行gradle sync的快捷方式 - >应用 - >好的,你就完成了。选择任何方便的键作为您的gradle同步快捷键,它不会与任何其他快捷键冲突(我已选择Shift + 5作为我的gradle同步键),因此,当您想要手动运行gradle sync时,只需按下此键盘快捷键即可。
在Android Studio 3.3中,它位于:
根据Android Studio 3.1中的https://stackoverflow.com/a/49576954/2914140答案,它在这里:
此命令将移至File > Sync Project with Gradle Files
。
我认为它是指Android Studio主菜单中的工具> Android>“与Gradle文件同步项目”。
gradle --recompile-scripts
似乎没有构建任何东西同步。你可以启用自动构建
gradle --recompile-scripts --continuous
有关更多信息,请参阅文档:
https://docs.gradle.org/current/userguide/gradle_command_line.html
快捷方式(Ubuntu,Windows):
Ctrl + F5
将项目与Gradle文件同步。
我认为./gradlew tasks
与Android studio sync
相同。为什么?我会解释一下。
我在测试jacoco覆盖率报告时遇到了问题。当我直接在命令行中运行./gradlew clean :Test:testDebugUnitTest
时,会出现错误。
Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.2.jar_5bdiis3s7lm1rcnv0gawjjfxc/jacocoagent.jar
但是,如果我首先单击android studio sync,它运行正常。因为build/../jacocoagent.jar
自然出现。我不知道为什么,也许jacoco插件中有bug。单位我发现运行.gradlew tasks
使罐子也出现。所以我可以在gralde脚本中得到相同的结果。
此外,gradle --recompile-scripts
不适用于这个问题。