STRING_TOO_LARGE Kotlin中的字符串

Ani*_*ale 13 xml string android kotlin

当我在项目中添加插件来支持Kotlin时,然后从我的项目的string.xml文件中读取大字符串.它给了我以下错误.

错误:字符串太大,无法使用UTF-8编写为" STRING_TOO_LARGE ".

小智 8

使用矢量资源时,您只需要查找并分割一个长度超过 32kb 的字符串,就我而言,这是一个复杂的路径,我对其进行了一些简化以匹配 32kb 的标准

  • Android 在指出问题所在方面没有做得更好,这是荒谬的。我有一个几十万个文件的项目,无法手动查找哪个文件有问题 (2认同)

Lan*_*tle 7

这是 gradle 插件的问题。

如果您将插件升级到3.3.0-alpha06或更高版本并将 gradle 升级到4.9它应该可以工作。这并不理想,因为它是 alpha,但它为我解决了这个问题。

添加<?xml version="1.0" encoding="utf-8"?>到任何缺少它的资源 .xml 文件的顶部。


Vee*_*ner 6

这不是一个真正的 Kotlin 问题,它与构建工具有关。这在 Build Tools 27 (Gradle 3.1) 上没有发生,但在升级到 Build Tools 28 (Gradle 3.2) 后发生在我身上。

解决方案在此处发布STRING_TOO_LARGE Java compiler error

  • 伙计......我不能认为这是一个答案,而是一种解决方法。降级版本不是解决方案 (2认同)

JJ *_*sis 5

似乎造成这种情况的一个常见原因是在您的 app/build.gradle 中有一个 Stripe,它似乎有一个矢量文件被读取为长度超过 32kB 的字符串。

要解决此问题,请将您的条带版本更改为 7.0.0 之后的版本,这是他们修复它的地方。Stripe 的当前版本是 8.1.0。