Android中库模块的本地化

Android中库模块的本地化,android,localization,shared-libraries,Android,Localization,Shared Libraries,我们正在构建一个应用程序,该应用程序通过Artifactory导入一组库,然后从主应用程序引用这些库 我们正在本地化我们的应用程序。我们可以通过在测试应用程序中直接使用库来本地化我们的库并验证它是否有效。当库被推送到我们的人工工厂时,我们就可以通过gradle导入库以在我们的应用程序中使用 我们可以验证在库中对代码进行更改甚至对英文字符串进行更改是否都有效,并且当拉入主应用程序时,任何此类更改都会正确反映出来。但是,虽然我们已经将库本地化(西班牙语),但在将本地化库拉入main时,不会使用西班牙

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

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

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

我们很困惑为什么会出现这种情况——无论是我们做错了什么,还是gradle或Android中存在bug

有人有什么见解吗?我为含糊不清道歉,但这个问题相当深奥,所以我不确定什么代码(如果有的话)可能与解决这个问题有关。请随时要求进一步澄清

更新:

我们决定直接导入.AAR,方法是将它放在libs/目录中,并在Gradle构建中引用它。它现在工作正常,所讨论的库已正确本地化


因此,问题似乎来自于从存储库下载快照的时间。

该应用程序查看的库版本错误:以前发布的版本,而不是最新的快照


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

主应用程序有西班牙语翻译吗?是的,它有一个带有西班牙语strings.xml的值es。这是一个因素吗?如果您正在对库进行更改、上载,然后尝试在另一个项目中使用。可能只是“另一个项目”正在使用库的某个旧缓存版本。Gradle在这种情况下有一个命令行参数:try
/gradlew--refresh dependencies
。我希望这会有帮助。谢谢Budius,但我已经确定在拉取新版本的库时我正在刷新依赖项。