Gradle 由于棉绒和木材,清洁失败

Gradle clean fails because of lint & timber

在 Windows 7 和 gradle 2.8 或 2.10 上使用 Android Studio 1.5.1,我在尝试 运行 a gradle 干净(仅当使用木材时):

gradle clean
Incremental java compilation is an incubating feature.                           
WARNING [Project: :app] To shrink resources you must also enable ProGuard         
:clean                                                                               
:app:clean FAILED          

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:clean'.
> Unable to delete file: C:\blabla\app\build\intermediates\exploded-aar\com.jakewharton.timber\timber.1.0\jars\lint.jar

* Try:         
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

找到这个:
https://code.google.com/p/android/issues/detail?id=190812
还有:
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=5041014
但是对于 Android Studio 和 gradle,我们无法控制编译(因此无法控制 URLClassLoader 调用)。

将木材从 4.x.x 降级到 3.1.0

禁用 Timber 的所有 lint 检查,在 build.gradle:

android {

  lintOptions {
    disable 'LogNotTimber', 'StringFormatInTimber', 'ThrowableNotAtBeginning', 'BinaryOperationInTimber', 'TimberArgCount', 'TimberArgTypes', 'TimberTagLength'
  }
}

我还建议提交修复该问题的 PR,以便您可以重新启用这些检查。你不想无限期地压制这些。

更新 Timber 到 5.0.1,可能 com.android.tools.build:gradle 到 7.0.0。