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

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


当前回答

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

其他回答

gradle --recompile-scripts

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

gradle --recompile-scripts --continuous

更多信息请参考文档:

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

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

我认为./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也不能解决这个问题。

从终端:

gradle prepareKotlinBuildScriptModel

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

我有一个麻烦可以证明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'.