我在启用ProGuard编译Android应用程序时遇到以下错误。
Warning: library class android.databinding.tool.util.SourceCodeEscapers$1
extends or implements program class com.google.common.escape.CharEscaper
Warning: library class android.databinding.tool.util.SourceCodeEscapers$JavaCharEscaper
extends or implements program class com.google.common.escape.ArrayBasedCharEscaper
Warning: library class android.databinding.tool.util.SourceCodeEscapers$JavaCharEscaperWithOctal
extends or implements program class com.google.common.escape.ArrayBasedCharEscaper
Warning: there were 3 instances of library classes depending on program classes.
You must avoid such dependencies, since the program classes will
be processed, while the library classes will remain unchanged.
(http://proguard.sourceforge.net/manual/troubleshooting.html#dependency)
看起来这是由于Android 数据绑定 和Guava之间的冲突引起的。我的应用程序依赖于Guava(com.google.guava:guava:18.0)并启用了数据绑定。似乎数据绑定对Guava有某种内部依赖,这导致了ProGuard的问题。
我正在运行最新的gradle beta版本(2.0.0-beta5),所以问题可能与此相关。