Android Studio将支持库中的字符串导出到APK

最近我从Eclipse切换到了Android Studio。 我有一个具有多个模块依赖项的项目。 一个依赖是支持库appcompat,包含如下:

dependencies { compile "com.android.support:appcompat-v7:19+" } 

在Android文档中,我发现需要使用资源导入此库,这似乎可以正常工作。 我在项目中使用库没有问题。

问题是,当我建立一个APK并运行aapt时,outpus说:

 locales: '--_--' 'de' 'nl' 'pl' 'sl' 'fr' 'cs' 'es' 'it' 'ca' 'da' 'fa' 'ja' 'nb' 'af' 'bg' 'th' 'fi' 'hi' 'vi' 'sk' 'uk' 'el' 'tl' 'am' 'in' 'ko' 'ro' 'ar' 'hr' 'sr' 'tr' 'lt' 'pt' 'hu' 'ru' 'zu' 'lv' 'sv' 'iw' 'sw' 'fr_CA' 'lo_LA' 'en_GB' 'et_EE' 'ka_GE' 'km_KH' 'zh_HK' 'hy_AM' 'zh_CN' 'en_IN' 'mn_MN' 'es_US' 'pt_PT' 'zh_TW' 'ms_MY' 

但事实并非如此,我的应用程序仅支持前8种列出的语言 。 当我将这个apk上传到Play时,它会向我显示以前版本的更改(使用eclipse构建),并且它表示我已添加了47种语言,但同样,这不是真的。 Play devconsole的屏幕截图: Play devconsole的屏幕截图

我在Google代码上发现了类似的问题,但没有回复,我希望解决这个问题,因为我必须将我的新APK上传到Play。

任何想法如何摆脱这47种其他语言,而图书馆必须保持与资源导入,以正常工作?

更新:在谷歌代码上他们说这是现在的预期,他们希望添加一种方法来选择你想要包含在apk中的内容。

Solutions Collecting From Web of "Android Studio将支持库中的字符串导出到APK"

在code.google.com,他们说gradle插件有一个限制资源的选项,因为版本0.7.0已经发布。

注意版本0.7.0发行说明 :

产品Flavor(和defaultConfig)的新选项允许通过aapt的-c选项过滤资源

  • 您可以通过DSL传递单个值(resConfig)或多个值(resConfigs)。
  • 默认配置和flavor中的所有值都会合并并传递给aapt。
  • 参见“基本”样本 。

下面是一些示例代码,放在项目的build.gradle文件中:

 android { defaultConfig { resConfigs "en", "de", "es" //Define languages that your app supports. } } 

我花了很多时间find“基本样本”……可能是发行说明中的​​一个链接:/所以有链接:

  • Gradle样本
  • 基本样本
  • 发行说明

注意:0.7.x版需要Android Studio 0.4。+和Gradle 1.9。