我正在调试Android Studio中的Gradle问题,并看到“运行Gradle同步”的引用,但我不确定如何运行这个命令。

我如何运行“Gradle同步”从Android工作室或Mac终端?


我认为这是指工具> Android >“同步项目与Gradle文件”从Android工作室的主菜单。


Android studio应该在工具栏中有这个按钮,标记为“同步项目与Gradle文件”

编辑:我不知道什么时候改的,但现在看起来是这样的:

编辑:这是它在3.3.1中的样子 或者从菜单栏选择文件->与Gradle文件同步项目。


警告:——recompile-scripts命令自gradle 5.0版本起已弃用。 要检查gradle版本,运行gradle -v。

./gradlew --recompile-scripts

它将在不构建任何东西的情况下进行同步。


或者,在根项目中使用命令行

。/ gradlew构建

它会同步并构建你的应用,比Gradle同步花费的时间要长

要查看所有可用的gradle任务,请使用./gradlew tasks


Keyboard shortcut lovers can add a shortcut for running gradle sync manually by going to File -> Settings -> Keymap -> Plugins -> Android Support -> Sync Project with gradle files (Right click on it to add keyboard shortcut) -> Apply -> OK and you are done. Choose any convenient key as your gradle sync shortcut which doesnot conflict with any other shortcut key, (I have choosen Shift + 5 as my gradle sync key), so next when you want to run gradle sync manually just press this keyboard shortcut key.


快捷方式(Ubuntu, Windows):

Ctrl + F5

将项目与Gradle文件同步。


gradle --recompile-scripts

似乎不需要构建任何东西就能进行同步。 您可以通过

gradle --recompile-scripts --continuous

更多信息请参考文档:

https://docs.gradle.org/current/userguide/gradle_command_line.html


在Android Studio 3.3中,它在这里:

根据Android Studio 3.1中的答案https://stackoverflow.com/a/49576954/2914140,它在这里:

该命令被移动到文件>同步项目与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/../ jacocoagulation .jar看起来很自然。 我不知道为什么,可能是jacoco插件有bug。单元我发现运行.gradlew任务使罐子显示以及。所以我可以在gradde脚本中得到相同的结果。

此外,gradle—recompile-scripts也不能解决这个问题。


我有一个麻烦可以证明gradlew干净不等于ADT建造干净。现在我正在努力把它修好。

以下是我得到的: 我设置了一个configProductID=11111从我的gradle。属性,从我的构建。我补充道

resValue "string", "ProductID", configProductID

如果我从ADT进行构建清理,可以生成资源R.string.ProductID。然后我就可以成功地做咆哮命令了。

gradlew assembleDebug

但是,当我试图设置构建服务器,我不想从ADT IDE的帮助,所以我需要避免使用ADT构建清洁。我的问题来了。 现在我把我的资源名称从“ProductID”改为“myProductID”,我做:

gradlew clean

就会得到错误

PS D:\work\wctposdemo> .\gradlew.bat clean

FAILURE: Build failed with an exception.

* Where:
Build file 'D:\work\wctposdemo\app\build.gradle'

* What went wrong:
Could not compile build file 'D:\work\wctposdemo\app\build.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major version 57

如果我试着:

.\gradlew.bat --recompile-scripts

我只是得到了误差

Unknown command-line option '--recompile-scripts'.

任何想要使用命令行与gradle文件同步的项目,请注意:

从Gradle 5.0开始,

——recompile-scripts命令行选项已被移除。

https://docs.gradle.org/5.0/userguide/upgrading_version_4.html#potential_breaking_changes https://docs.gradle.org/current/userguide/command_line_interface.html https://github.com/gradle/gradle/issues/1425


从终端:

gradle prepareKotlinBuildScriptModel

注意:你可以通过查看“Build”选项卡看到android studio正在做什么。里面会有不同的窗口。一个应该是“同步”