Ben*_*min 8 android proguard android-gradle-plugin
在启用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)
Run Code Online (Sandbox Code Playgroud)
看起来这是由Android 数据绑定和Guava 之间的冲突引起的.我的应用程序依赖于Guava(com.google.guava:guava:18.0)并启用了数据绑定.这似乎是结合数据具有某种对番石榴内部依赖,并且是造成问题的ProGuard.
我正在运行最新的测试版gradle(2.0.0-beta5),所以问题可能与此有关.
Bra*_*den 13
所以我能够通过将它添加到proguard来构建:
-dontwarn android.databinding.**
-keep class android.databinding.** { *; }
我不认为完全是正确的解决方案,只是忽略这些类,但我认为我们可能只需等待谷歌的更新.将它添加到proguard之后我能够构建一个版本apk但是它崩溃了,我认为它仍然是proguard但在我的代码中发现了其他错误.
| 归档时间: |
|
| 查看次数: |
2330 次 |
| 最近记录: |