ChatGPT解决这个技术问题 Extra ChatGPT

Android Studio how to run gradle sync manually?

I'm debugging Gradle issues in Android Studio and see references to "Run gradle sync", but I'm not sure how to run this command.

How do I run "Gradle sync" from Android studio or Mac terminal?

If you came here for the "...or Mac terminal" you are out of luck. None of these answers are about syncing Android Studio itself from command line.
See @Cai's answer below

z
zwcloud

https://i.stack.imgur.com/d15o5.png

EDIT: I don't know when it was changed but it now looks like this:

https://i.stack.imgur.com/QOC20.png

https://i.stack.imgur.com/8pPCL.png


missing in Adnroid Studio 3.0.1
@RomanM It's not missing... It moved to "File"... So, it is next to save icon
I don't see that button in the toolbar or File menu in Android Studio 4.
I can confirm the sync button appears on the toolbar in Android Studio 4.0.1
Why this question has so many upvotes if it is not answering OP's question?
D
Denialos

WARNING: --recompile-scripts command has been deprecated since gradle's version 5.0. To check your gradle version, run gradle -v.

./gradlew --recompile-scripts

it will do a sync without building anything.

Alternatively, with command line in your root project

./gradlew build

It will sync and build your app, and take longer than just a Gradle sync

To see all available gradle task, use ./gradlew tasks


Yes but build does more right? What is the difference between sync and build?
build is a very generic task. it's like using a sledgehammer to crack a nut. On Android projects, running the "build" task could take forever!
I use com.android.tools.build:gradle:3.5.1,and it has no option --recompile-scripts
since gradle 5.0, --recompile-scripts has become an unknow command-line option,
C
CoolMind

In Android Studio 3.3 it is here:

https://i.stack.imgur.com/hBr9j.png

According to the answer https://stackoverflow.com/a/49576954/2914140 in Android Studio 3.1 it is here:

https://i.stack.imgur.com/N6AWD.png

This command is moved to File > Sync Project with Gradle Files.

https://i.stack.imgur.com/mfRrq.png


ROFL! I have been looking for 2 days for this button! Thanks!
@swooby, you are welcome. I also was finding it for some time, even asked a question, and they helped.
This option appears to no longer exist? i.imgur.com/cNFUoxB.png (screenshot just taken, in Android Studio 3.5.3)
@Venryx, it is strange. I have 3.6.3 and this menu still exists (imgur.com/a/F8FCpvk). Anyway, it is better to use a button in the Toolbar.
It was apparently a problem with some AndroidStudio/Gradle files being outdated. After deleting them and reimporting the project, the option showed up again.
A
Amrit Pal Singh

https://i.stack.imgur.com/z9iIn.jpg


it's 'Android Studio->Preferences' for the first two steps on Mac OS X
+1 the best answer to question
Best answer, No need to find Sync Project icon from similar icons of android studio. Just press Shift+5 and you are done.
C
CommonsWare

I presume it is referring to Tools > Android > "Sync Project with Gradle Files" from the Android Studio main menu.


U
Umair
gradle --recompile-scripts

seems to do a sync without building anything. you can enable automatic building by

gradle --recompile-scripts --continuous

Please refer the docs for more info:

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


gradle 5.1.1 do not have option --recompile-scripts
M
Marcel Bro

Shortcut (Ubuntu, Windows):

Ctrl + F5

Will sync the project with Gradle files.


on MacOS shortcut is not defined, one should assign it. Described below stackoverflow.com/a/29642935/1839096
V
Victor Choy

I think ./gradlew tasks is same with Android studio sync. Why? I will explain it.

I meet a problem when I test jacoco coverage report. When I run ./gradlew clean :Test:testDebugUnitTest in command line directly , error appear.

Error opening zip file or JAR manifest missing : build/tmp/expandedArchives/org.jacoco.agent-0.8.2.jar_5bdiis3s7lm1rcnv0gawjjfxc/jacocoagent.jar

However, if I click android studio sync firstly , it runs OK. Because the build/../jacocoagent.jar appear naturally. I dont know why, maybe there is bug in jacoco plugin. Unit I find running .gradlew tasks makes the jar appear as well. So I can get the same result in gralde script.

Besides, gradle --recompile-scripts does not work for the problem.


Hi Victor, I have a trouble may proof you wrong, Here is what I got, I set a configProductID=11111 from my gradle.properties, from my build.gradle, I add "resValue "string". If I do a build clean from ADT, the resource R.string.ProductID can be generated. Then I can do gradlew assembleDebug to build. Then I change my config name from "ProductID" to "myProductID", I will get error to do 'gradlew tasks', also I can't do 'gradlew clean', all of them just fail. I am still struggling. As ".\gradlew.bat --recompile-scripts " seems no longer exists?
y
yunfei

I have a trouble may proof gradlew clean is not equal to ADT build clean. And Now I am struggling to get it fixed.

Here is what I got: I set a configProductID=11111 from my gradle.properties, from my build.gradle, I add

resValue "string", "ProductID", configProductID

If I do a build clean from ADT, the resource R.string.ProductID can be generated. Then I can do bellow command successfully.

gradlew assembleDebug

But, as I am trying to setup build server, I don't want help from ADT IDE, so I need to avoid using ADT build clean. Here comes my problem. Now I change my resource name from "ProductID" to "myProductID", I do:

gradlew clean

I get error

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

If I try with:

.\gradlew.bat --recompile-scripts

I just get error of

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

I've the same error-message some minutes ago: > Unsupported class file major version 57 The issue for me was, that gradle doesn't work with current openJdk13 on Linux (I use Manjaro... an Arch-Like Linux). So to fix this, I've done this: I've checked which Java version I've installed at my pc, and choosed the version 8: sudo archlinux-java stauts sudo archlinux-java set java-8-openjdk Maybe this helping you out, even If your system seems to be windows. So try another SDK Version. Maybe it also solve your issue.
Hi @suther, many thanks for your reply, I have find the root cause and fixed, I don't think it is because of JAVA version. But as I described "gradlew clean" is not equal to "ADT clean". My fix was simply do "gradlew :app:dependencies", this will generate resource IDs from gradle configuration files.
q
qtmfld

Anyone wants to use command line to sync projects with gradle files, please note:

Since Gradle 5.0,

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

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


That's great, but how about offering the proper alternative.
Haven't found one, pity
j
jeffski13

From terminal:

gradle prepareKotlinBuildScriptModel

NOTE: you can see what android studio is doing by inspecting the "Build" tab. There will be difference windows inside there. One should be "Sync"