在Android Studio中运行rebuild项目后会发生什么?

时间:2015-06-05 09:01:57

标签: android android-studio android-gradle

文档http://www.jetbrains.com/idea/help/rebuilding-project.html?search=reb仅告诉我如何重建项目。

我不知道重建项目(Menu --> Build --> Rebuild Project)意味着什么,它会清除所有编辑缓存吗?我运行重建项目后发现项目的大小减少了吗?

在Android Studio中清除项目意味着什么?

2 个答案:

答案 0 :(得分:4)

在Android Studio中,构建菜单中的几乎每个语音都映射到一个(可能不止一个)gradle动作,其中Gradle是android的官方构建系统。特别是,当您清理项目时,您正在从应用程序模块内的build文件夹中删除一些文件,并且当您选择rebuild时,相当于执行gradle clean和build。 有关该主题的更多信息,我建议您使用Udacity这个课程,您可以免费查看。它教你gradle以及它如何与android studio集成。

https://www.udacity.com/course/gradle-for-android-and-java--ud867

答案 1 :(得分:0)

Android App是一个使用com.android.application插件的Gradle项目。单击“重建”按钮,“清除”按钮或运行按钮时。它将运行一系列命令。请注意,并非所有命令都是Gradle任务。例如,运行和调试按钮将在场景后面运行adb

Rebuild按钮中,您正在运行多个Gradle任务。您可以在Android Studio的右下角看到它。

Gradle Console Tab

在这种情况下,Android Studio将运行以下Gradle任务: clean, :app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources, :app:compileDebugSources, :app:compileDebugUnitTestSources, :app:compileDebugAndroidTestSources

在冒号(:)之前看到的是模块名称。 app:generateDebugSource将在generateDebugSource模块上运行app任务。

但是如果你有多个模块会发生什么?

Multiple Module

显然,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文件夹将包含您的最终apkR文件,报告文件(如lint / JUnit测试报告)和生成的类(来自Dagger / Retrofit)。这就是为什么它会减少你的项目的规模。

  BTW,在Android工作室清除项目有什么意义?

如果您clear project的意思是clean 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]