Android Studio 如何运行 gradle 手动同步?

Android Studio how to run gradle sync manually?

我正在 Android Studio 中调试 Gradle 问题并查看对 "Run gradle sync" 的引用,但我不确定如何 运行 此命令。

如何从 Android 工作室或 Mac 终端 运行 "Gradle sync"?

我推测它指的是 Android Studio 主菜单中的工具 > Android > "Sync Project with Gradle Files"。

Android 工作室应该在工具栏中将此按钮标记为 "Sync project with Gradle Files"

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

编辑:这是它在 3.3.1 上的样子
或者从菜单栏转到 文件 -> 与 Gradle 文件同步项目

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

./gradlew --recompile-scripts

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


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

./gradlew build

它将同步并构建您的应用程序,并且比仅 Gradle 同步

花费的时间更长

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

键盘快捷键爱好者可以通过转到文件 -> 设置 -> 键盘映射 -> 插件 -> Android 支持 -> 同步,手动为 运行ning gradle 同步添加快捷键使用 gradle 个文件进行项目(右键单击它以添加键盘快捷方式)-> 应用 -> 确定,您就完成了。 选择任何方便的键作为您的 gradle 同步快捷键,它不会与任何其他快捷键冲突,(我选择 Shift + 5 作为我的 gradle 同步键),所以当你想要的时候要 运行 gradle 手动同步,只需按此键盘快捷键即可。

快捷方式(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 中的回答 它在这里:

此命令已移至 File > Sync Project with Gradle Files

我觉得./gradlew tasksAndroid 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 工作室同步,运行 就可以了。因为 build/../jacocoagent.jar 自然出现。 我不知道为什么,也许 jacoco 插件中有错误。我找到的单位 运行ning .gradlew tasks 也使罐子出现。所以我可以在 gralde 脚本中得到相同的结果。

此外,gradle --recompile-scripts对问题不起作用。

我有一个麻烦可以证明 gradlew clean 不等于 ADT build clean。现在我正在努力修复它。

这是我得到的: 我从我的 gradle.properties 设置了一个 configProductID=11111,从我的 build.gradle,我添加了

resValue "string", "ProductID", configProductID

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

gradlew assembleDebug

但是,当我尝试设置构建服务器时,我不需要 ADT IDE 的帮助,因此我需要避免使用 ADT build clean。我的问题来了。 现在我将我的资源名称从 "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,

The --recompile-scripts command-line option has been removed.

来自终端:

gradle prepareKotlinBuildScriptModel

注意:您可以通过检查“构建”选项卡查看 android studio 正在做什么。里面会有差异windows。一个应该是“同步”