6

I am trying to publish an app that is currently only configured for English. When I upload my app to the Play store, it says localization for 'Default + 49 languages'? How do I disable all but English?

4

3 回答 3

5

我刚刚注意到同样的问题,经过一番调查后找到了解释。除了已经存在的关于后果的答案之外,我还想分享这个:

只要您的应用包含支持其他语言的库(例如 Google Play 服务),您创建的 apk 就会被标记为支持所有这些本地化!

你可以顺便检查一个apk的属性,即使没有上传到Google Play Store。只需从Android Apk中最新的build-tools 文件夹运行以下命令。对我来说,目前是 cd ~ANDROID_HOME/build-tools/19.0.1

./aapt d badging <apk>

正如之前建议的那样,提供应用描述的语言最为重要,因为这是用户实际看到的。此外,可以在此描述中包含实际支持的语言列表。

如果您真的想摆脱其他语言,则需要从所有库中删除特定于语言的 res 文件夹。如果是库的本地副本,这很容易。我想使用 gradle 和 maven 也应该是可能的,但我认为目前不值得这样做。

于 2014-01-25T09:17:11.297 回答
1

正如其他人指出的那样,问题在于,如果您包含一个支持其他语言的库,所有这些翻译都会被拉入您的应用程序,然后商店会假定您支持这些语言。

要阻止构建工具引入不受支持的语言,您可以在“aapt”打包工具上设置过滤器,以便它忽略特定的文件/目录。

过滤器的格式可以在 sdk 的主要 ant 'build.xml' 文件中找到。(搜索aapt.ignore.assets


默认排除列表是:

!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~

我建议您保留此列表并将任何额外的过滤器附加到它的末尾。

例如,如果您想排除es-US(存储在带有扩展名的目录中-es-rUS),您可以将排除列表更改为:

!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:<dir>*-es-rUS

这将排除所有以结尾的目录-es-rUS(请注意,过滤器不区分大小写,因此<dir>*-eS-RuS也可以)


要为命令行执行此操作:

aapt.exe <All of your normal commands for packaging>  --ignore-assets <exclude-list>

对于Ant/Eclipse构建,将以下内容添加到您的项目ant.properties文件中:

aapt.ignore.assets=<exclude-list>
于 2014-08-06T03:27:37.380 回答
1

当您发布您的应用程序时,如果您只用英文编写它,它将仅以英文发布。

如果您想将您的应用程序限制在特定国家/地区,您可以这样做:在开发者控制台上,您有一个“定价和分发”选项卡。你可以选择那里的国家。它的外观如下:

在此处输入图像描述

于 2013-03-21T09:07:37.600 回答