使用 scala 和 android-plugin 的 Proguard:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:160

Posted

技术标签:

【中文标题】使用 scala 和 android-plugin 的 Proguard:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:160【英文标题】:Proguard with scala and android-plugin: java.lang.StringIndexOutOfBoundsException: String index out of range: 160 【发布时间】:2012-10-29 07:00:36 【问题描述】:

这是我的完整日志:log

我使用 scala、sbt 和 android-plugin。我有很多进口产品,所以这可能是我得到它的原因。有人似乎有同样的问题,并通过“与proguard战斗”解决了它。 github issue

【问题讨论】:

【参考方案1】:

如果我没记错的话,这个问题已经在 ProGuard 的更新版本中得到修复。您可以简单地替换 Android SDK 中的目录 tools/proguard(甚至只是 tools/proguard/lib/proguard.jar)。如果这没有帮助,请在ProGuard 网站上提交错误报告。

【讨论】:

如果您在实用程序 clas proguard.classfile.util.DescriptorClassEnumeration 中发现异常,您也可以将 ProGuard 失败的描述符字符串邮寄给我。 (我是 ProGuard 的开发者) 我已经删除了一些我并不真正使用的库,现在它可以工作了。如果我再次遇到问题,我会邮寄给你。 我还是希望解决这个问题。你能把那个图书馆寄给我或给我指点吗? 我使用的库是 finagle-core 和 finagle-thrift 版本 5.3.1。从 libraryDependencies 中删除它们可以解决我的问题。无论如何,有人似乎找到了解决方案。这是使用 compileOrder := CompileOrder.JavaThenScala

以上是关于使用 scala 和 android-plugin 的 Proguard:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:160的主要内容,如果未能解决你的问题,请参考以下文章

如何更新 sbt android-plugin 的 ProGuard 版本?

Scala基本使用

Scala之option类型及偏函数使用异常处理正则表达式

Scala 和 Erlang 是不是使用绿色线程?

在 Scala 和 Gradle 中使用 AndroidAnnotations

使用 Scala 接收和发送电子邮件