我在string.xml中使用了。 就像getText(R.string.something)一样使用。
某些应用程序版本会打印类似“'”的字符串。 另一个应用版本显示为“。
搜索该关键字“ android”,“ CDATA”,“ quote”,“ getText”,“ update”
<string name="example"><![CDATA["'"]]>example<![CDATA["'"]]></string>
Timber.d(getText(R.id.example))
// some app print "'"
// another app print '
该代码之前返回了'。 但是在版本升级后,一些与GTM和glide相关的库 该代码返回“'”。
我的最佳目标是使用<![CDATA["'"]]>
打印'。
除非不能,否则想知道为什么。因为它是从gradle /库版本升级的副作用中发生的。
我发现了为什么会发生此问题。
问题来自将com.android.tools.build:gradle
版本3.2.1升级到(3.3.0〜3.4.2)
但是,如果将gradle版本设置为3.5.0,则<![CDATA["'"]]>
返回'(我想要的)
我从Google问题跟踪器分配器那里得到了答案 “ gradle插件3.3.0〜3.4.2的输出是aapt2中的错误。3.5.0恢复了正确的行为。”
如果想知道更改,请搜索“ aapt2 quote”关键字。
答案 0 :(得分:0)
您的目标只是显示引号吗?如果是这样,请尝试使用以下方法:
<string name="example">\'example\'</string>
用例:Timber.d(getString(R.string.example));
CDATA是您要将HTML与getText打包在一起的时候。我认为您不需要在这里。
答案 1 :(得分:0)
尝试一下,应该可以正常运行
“ \'”
答案 2 :(得分:0)
通过XML标准:
<string name="example">'example'</string>
尽管可能那不容易。 ({{1}中的"
)。
答案 3 :(得分:0)
我认为这是您使用CDATA语句的方式,如果您仍然想使用它,可能就像
Just
使用<string name="example"><![CDATA['example']]></string>
或'
作为撇号。