ChatGPT解决这个技术问题 Extra ChatGPT

Difference between clean, gradlew clean

What is the difference between the following statements when issued from a Android Studio Project's terminal :

Android_Studio_Project_Path: ./gradlew clean Android_Studio_Project_Path: ./gradlew clean assembleDebug Android_Studio_Project_Path: ./gradlew clean :assembleDebug and normal Android Studio --> Build --> Clean.

What would be the difference in the internal process.


C
Community

./gradlew clean Uses your project's gradle wrapper to execute your project's clean task. Usually, this just means the deletion of the build directory. ./gradlew clean assembleDebug Again, uses your project's gradle wrapper to execute the clean and assembleDebug tasks, respectively. So, it will clean first, then execute assembleDebug, after any non-up-to-date dependent tasks. ./gradlew clean :assembleDebug Is essentially the same as #2. The colon represents the task path. Task paths are essential in gradle multi-project's, not so much in this context. It means run the root project's assembleDebug task. Here, the root project is the only project. Android Studio --> Build --> Clean Is essentially the same as ./gradlew clean. See here.

For more info, I suggest taking the time to read through the Android docs, especially this one.


Glad I could be of help. Gradle is awesome, especially for managing complex builds such as Android. I'm looking forward to many other features for native builds coming soon...
What about shortcut: Shift+CMD+C? Why doesn't that delete the build directory?
Can you provide a link to that shortcut's description? I couldn't find it here, unless I missed it.
Maybe stupid question, but these commands only remove project/build folder, but project/app/build stays untouch. Can anyone advice how to remove build folders in sub-modules too. Thanks in advance
@aruy Not a stupid question. gradlew clean should run the clean task for the current project directory and any subprojects. See here. 2 questions you must ask. Is project/app a subproject of the project's build that you are running? Is the project/app/build folder really a build output directory?
A
Abhishek Garg

You can also use

./gradlew clean build (Mac and Linux) -With ./

gradlew clean build (Windows) -Without ./

it removes build folder, as well configure your modules and then build your project.

i use it before release any new app on playstore.


@ichimaru If you use the Powershell terminal, the command must be as follows: .\gradlew clean build
C
Cristofer

You should use this one too:

./gradlew :app:dependencies (Mac and Linux) -With ./

gradlew :app:dependencies (Windows) -Without ./

The libs you are using internally using any other versions of google play service.If yes then remove or update those libs.


S
Sandeep Gupta

bro, this question literally got 69 votes.