Android:突然,多参数格式的字符串出现AAPT错误

Android:突然,多参数格式的字符串出现AAPT错误,android,Android,类似的问题已经被回答了好几次,我确实检查了其中的许多问题。这是不同的,请继续读 我在strings.xml中使用多个格式参数定义了大量字符串。例如: <string name="my_fmt_string">%s and also %s</string> 正如我在上文所述,关于这一点的许多问题已经在SO中提出并得到了回答。这些答案指的是使用位置语法(%1$s)和格式化=false 问题是,这些问题可以追溯到2010年,而我的应用程序已经有4年的历史了,并且编译得非常完美

类似的问题已经被回答了好几次,我确实检查了其中的许多问题。这是不同的,请继续读

我在
strings.xml
中使用多个格式参数定义了大量字符串。例如:

<string name="my_fmt_string">%s and also %s</string>
正如我在上文所述,关于这一点的许多问题已经在SO中提出并得到了回答。这些答案指的是使用位置语法(
%1$s
)和
格式化=false

问题是,这些问题可以追溯到2010年,而我的应用程序已经有4年的历史了,并且编译得非常完美,直到今天我尝试了它。最近没有任何变化表明存在问题,当然,自从我上次编译这篇文章以来就没有了——3天前,周五

我的应用程序中有很多格式化字符串。修复每种情况都很繁琐,甚至很困难(对于复杂的格式,如
%02d
?如果混合使用
String.format
context.getString(id,…args)
?),该怎么办

发生了什么变化?为什么突然失败了?

那好吧。在这里

我回顾git历史,直到找到一个有效的构建。此时,所有AAPT消息都是警告

当我在其他地方引入语法错误时,旧的警告在Android Studio的UI中被报告为错误:未替换的撇号(
'
而不是
\'

无休止的错误层叠使得这一点很难被发现,因为在构建日志中突然有几十个字符串被报告为失败。一个接一个地走着,我发现了一个不同的

因此,如果您正在阅读:忽略这些消息,查找其他错误。

好的。在这里

我回顾git历史,直到找到一个有效的构建。此时,所有AAPT消息都是警告

当我在其他地方引入语法错误时,旧的警告在Android Studio的UI中被报告为错误:未替换的撇号(
'
而不是
\'

无休止的错误层叠使得这一点很难被发现,因为在构建日志中突然有几十个字符串被报告为失败。一个接一个地走着,我发现了一个不同的

因此,如果您正在阅读以下内容:忽略这些消息,查找另一个错误

AAPT: warn: multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?