Android 中库模块的本地化

Localization for a library module in Android

我们正在构建一个应用程序,它通过 Artifactory 导入一组库,然后从主应用程序中引用这些库。

我们正在本地化我们的应用程序。我们可以本地化我们的库并通过直接在测试应用程序中使用库来验证它是否有效。当库被推送到我们的工件时,我们可以通过 gradle 导入库以在我们的应用程序中使用。

我们可以验证更改代码甚至更改库中的英文字符串都有效,并且当拉入主应用程序时,任何此类更改都会正确反映。然而,虽然我们已经将我们的库本地化(西班牙语),但当将本地化的库拉入主库时,不会使用西班牙语字符串。相反,它使用默认(英语)字符串。我们查看了我们的人工制品上的库,下载了 AAR,并验证了快照确实包含本地化字符串,但由于我们无法弄清楚导入到主应用程序时的原因,它没有使用它们。

我们很困惑为什么会这样——是我们做错了什么,还是 gradle 或 Android 中存在错误。

有没有人有任何见解?对于含糊不清,我深表歉意,但这个问题相当深奥,所以我不确定什么代码(如果有的话)可能与解决问题相关。随时要求进一步说明。

更新:

我们决定直接导入 .AAR,将其放在 libs/ 目录中并在我们的 Gradle 构建中引用它。它现在工作正常,有问题的库已正确本地化。

所以问题似乎出在从存储库下载快照时。

该应用正在查看错误版本的库:之前发布的版本而不是最新的 SNAPSHOT。

完全披露:James 和我一起工作。