首页 > 解决方案 > Xamarin.Android 版本构建失败并显示“STRING_TOO_LARGE”消息

问题描述

我们有一个相当复杂的 Xamarin.Android 项目,可以使用Visual Studio 2019 v16.3 中的调试版本构建。

每当我将它设置为构建发布版本时,我都会收到此错误:

Xamarin.Android.Common.targets(1657,2):错误 APT0000:字符串太大,无法使用 UTF-8 进行编码,而是写为“STRING_TOO_LARGE”。

Xamarin.Android.Common.targets(1657,2):错误 APT0000:字符串太大,无法使用 UTF-8 进行编码,而是写为“STRING_TOO_LARGE”。

我检查了我们的strings.xml文件并将所有“长”文本(超过 30 个字符)替换为一个字母,但错误仍然存​​在。还检查了animdrawablexml 文件,但它们不包含长路径或任何类似长字符串的东西。

不幸的是,错误并没有说明字符串是什么......

我应该如何解决这个问题?

更新:

我们尝试在单独的机器上构建它,错误也出现在那里。似乎代码中的某处实际上有一个很长的字符串。谁设计了该错误消息并认为它会很有用……?

标签: xamarin.androidrelease

解决方案


看来软件能找到人眼看不到的东西……</p>

我创建了一个Powershell 脚本来计算文件中的字符,结果发现我们有 2 个长度超过 32k的可绘制对象。

当我截断它们时,构建成功。奇怪的是我们可以使用 Visual Studio 16.2 发布该软件。


推荐阅读