当我在源代码中进行一些更改时,Android Studio(实际上是 gradle )需要重建项目。这很明显。
为什么第二次构建所花费的时间几乎与第一次构建时相同,即使我没有在项目中进行任何更改? 当我查看GradleConsole时,它等待" assembleDubug"任务。我认为 gradle 应该意识到没有变化,不应该浪费太多时间。
答案 0 :(得分:19)
最后,我找到了解决方案:启用离线工作以获取gradle。
或使用 CLI :
./gradlew --offline assembleDebugOrWhatever
答案 1 :(得分:5)
gradle控制台是否说出来
:app:assemeble UP-TO-DATE ?
如果您查看运行配置,您可能会注意到最底部Before Launch: Gradle-aware Make
这只是告诉它在运行之前重新编译(如有必要),但该检测被委托给Gradle。 Gradle只有在检测到需要时才会重新编译,但assemble
任务仍必须尝试运行以检测UP-TO-DATEness。所以它说它正在运行它,但它实际上并没有做任何事情。当我连续两次运行它时,第一次需要一段时间才能完成所有操作,但第二次它只是很快地运行任务列表(带有一堆UP-TO-DATE)并部署到手机/仿真器。
答案 2 :(得分:0)
这本身不是问题。它与Android Studio
无关,因为Gradle
只是一个帮助您构建项目的Android插件。您需要完全了解gradle
在运行应用时Android Studio使用它的原因。看看gradle上这个漂亮的SO question以及android developer website上的文章。最后,根据我的个人经验,在处理Android Studio和Eclipse for Android开发时,您需要有点耐心。希望这在某种程度上有所帮助。
答案 3 :(得分:0)
为了避免每次重建,我要进入我的模块项目设置 - >依赖关系以及向上或向下移动我的某个库项目 - >申请 - >好的 - >重新生成R.java。 您也可以尝试取消选中" 使用外部版本"在编译器设置中:
文件 - >设置(Ctrl + Alt + S) - >编译器 - >取消选中"使用外部版本"