使用retrolambda进行Android构建会忽略源代码更改

Pav*_* M. 10 android proguard retrolambda

在我们的项目中,我们使用gradle + retrolambda + proguard.Retrolambda增量构建设置为false.

有时构建传递没有错误,但源代码更改不适用于应用程序.为了解决这个问题,我们用它来清理和重建项目

gradlew clean assembleDebug
Run Code Online (Sandbox Code Playgroud)

但在我们的情况下,它需要约2.30米.那太久了.

我们如何解决这个问题?

dav*_*nry 1

一般来说,proguard 仅用于生产构建。minifyEnabled true您可以通过删除gradle.build 和/或从 gradle.build 中暂时禁用它shrinkResources true,看看它是否会导致瓶颈。

或者,转到 Android Studio -> Preferences -> Build, Execution, Deployment -> Compiler -> 并添加“--offline”作为命令行选项。这将阻止 gradle 下载每个构建的依赖项。

如果您运行的是最新的 Android Studio(通过 Canary Channel),您可以使用“即时运行”启用热点编译:Android Studio -> 首选项 -> 构建、执行、部署 -> 即时运行 -> 选中“启用即时运行”。 .'. 请注意,此功能仍处于实验阶段,您可能会遇到错误。