如何用不同的语言创建具有不同资产的应用程序包

时间:2019-02-06 21:37:54

标签: android-studio android-app-bundle

请指导我,我想在资产文件夹中创建一些音频文件的应用程序,这些文件对于每种语言都是不同的,例如:“ assets / en / hello.mp3”和“ assets / fr / hello.mp3”。

我想使用“ Android应用程序捆绑包”构建我的应用程序,以便具有特定语言的用户可以以较小的构建文件大小来获取其语言资产。

那么如何使用android应用包构建我的应用?

1 个答案:

答案 0 :(得分:0)

不幸的是,还没有构建系统对此功能提供本机支持,但是bundletool和Play已经支持该功能,因此,如果按照以下模式组织资产文件,则它应该可以正常工作:

assets/<dirname>#lang_en/hello.mp3
assets/<dirname>#lang_fr/hello.mp3
assets/<dirname>/hello.mp3

其中“ ”是您想要的任何字符串。 在我的示例中,最后一个文件只会传递给设备上既没有法语又没有英语的用户。

请注意,当用户更改设备上的语言时,下载正确的资产将花费数百,毫秒或几秒钟的时间,因此您必须自行管理此过渡(即,您不能假定因为该资产可能尚未下载,所以已经在设备上使用了新语言。