是否有可能从外部aar库覆盖android字符串资源?

wil*_*dev 2 android android-resources aar

我有一个依赖于第三方库(aar)的项目.我想更改此库中的一些字符串(它们在库的strings.xml中定义).是否可以在不处理库源代码的情况下覆盖这些字符串值?(字符串资源的id已知).

Gio*_*oli 6

是的,您可以这样做,但您必须覆盖编写该字符串的所有语言.

假设以下字符串位于res/values文件夹中的第三方库中.

<string name="msg">Message</string>
Run Code Online (Sandbox Code Playgroud)

这是在库res/values-it文件夹中:

<string name="msg">Messaggio</string>
Run Code Online (Sandbox Code Playgroud)

您必须在应用中覆盖这两者,因此,在您的res/values文件夹中,您可以执行以下操作:

<string name="msg">My new string</string>
Run Code Online (Sandbox Code Playgroud)

res/values-it,您可以这样做:

<string name="msg">La mia stringa</string>
Run Code Online (Sandbox Code Playgroud)