Android App 是一个使用com.android.application 插件的Gradle 项目。当您单击重建按钮、清理按钮或运行按钮时。它将运行一系列命令。请注意,并非所有命令都是 Gradle 任务。例如,运行和调试按钮将在后台运行adb。
在Rebuild 按钮中,您正在运行多个 Gradle 任务。您可以在 Android Studio 的右下角看到它。
在这种情况下,Android Studio 将运行以下 Gradle 任务:
clean, :app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugUnitTestSources, :app:compileDebugAndroidTestSources
您在冒号 (:) 之前看到的是模块名称。 app:generateDebugSource 将在 app 模块上运行 generateDebugSource 任务。
但是如果你有多个模块会发生什么?
显然,Android Studio 将在每个模块上运行这些任务。
Executing tasks: [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources, :myandroidlib:generateDebugSources, :myandroidlib:mockableAndroidJar, :myandroidlib:prepareDebugUnitTestDependencies, :myandroidlib:generateDebugAndroidTestSources, :myandroidlib:compileDebugSources, :myandroidlib:compileDebugUnitTestSources, :myandroidlib:compileDebugAndroidTestSources]
它会清除所有编辑缓存吗?我发现项目规模缩小了
在我运行重建项目之后?
它将清理build 文件夹中的文件。通常,这不包含在项目中(在.gitignore 中添加)。 build 文件夹将包含您的最终 apk、R 文件、报告文件(如 lint / JUnit 测试报告)和生成的类(来自 Dagger / Retrofit)。这就是为什么它会减少你的项目的大小。
顺便说一句,在Android studio中清除项目是什么意思?
如果您所说的clear project 是clean project。
Android Studio 将运行以下这些任务,这实际上会删除 build 文件夹。
Executing tasks: [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :myandroidlib:generateDebugSources, :myandroidlib:mockableAndroidJar, :myandroidlib:prepareDebugUnitTestDependencies, :myandroidlib:generateDebugAndroidTestSources]