Подтвердить что ты не робот

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, он показывает мне изменения в предыдущей версии (build with eclipse), и он говорит, что я добавил 47 языков, но опять же это неверно. Снимок экрана из Play devconsole: Screenshot from Play devconsole

Я нашел эту аналогичную проблему на код Google, но ответа нет, я хочу решить это, потому что мне нужно загрузить мой новый APK для воспроизведения.

Любая идея, как избавиться от этих 47 других языков, в то время как библиотека должна оставаться импортированной с ресурсами, чтобы работать правильно?

UPDATE: На код Google они говорят, что это ожидается сейчас, и они хотели добавить способ выбрать, что вы хотите включить в apk.

4b9b3361

Ответ 1

В code.google.com говорят, что плагин gradle имеет возможность ограничить ресурсы, поскольку версия 0.7.0 выпущена.

Примечание в версия 0.7.0 Примечания к выпуску:

Новая опция для продукта Flavor (и defaultConfig) позволяет фильтровать ресурсов через опцию -c aapt

  • Вы можете передать одиночное значение (resConfig) или несколько значений (resConfigs) через DSL.
  • Все значения из конфигурации по умолчанию и вкусов объединяются и передаются в aapt.
  • См. "базовый" образец.

Вот пример кода, который нужно добавить в файл build.gradle вашего проекта:

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

Я потратил много времени, чтобы найти "Базовый образец"... может быть ссылкой в ​​примечаниях к выпуску:/поэтому есть ссылки:

Примечание: Версия 0.7.x требует Android Studio 0.4. + И gradle 1.9.