Как легко удалить ненужные ресурсы локализации из добавленных библиотек в релизе APK

Мое приложение довольно простое и не требует большой локализации.

Я поставляю язык по умолчанию (на английском) и немецкий – это все, что я когда-либо хотел и когда-либо поставил, так как приложение полностью сосредоточено в Германии.

Когда я недавно добавил библиотеку Google Play Services, я столкнулся с проблемой, что 56 (!!!) дополнительных языков были добавлены в мое приложение, как говорит мне в Google Play Store. Причина в том, что в библиотеке появилось много языковых ресурсов, которые я НЕ хочу в своем приложении. Это просто не имеет никакого смысла, если диалог Google Play появляется на французском языке, когда остальное было только английским / немецким.

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

Итак – как я могу это сделать?

Благодаря!

Solutions Collecting From Web of "Как легко удалить ненужные ресурсы локализации из добавленных библиотек в релизе APK"

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

Вместо этого попробуйте заставить приложение использовать немецкий или английский язык по умолчанию:

Вы должны добавить этот код в свой класс приложения

@Override public void onCreate() { super.onCreate(); avoidOtherLanguages(); // your code here } @Override public void onConfigurationChanged() { super.onConfigurationChanged(); avoidOtherLanguages(); // your code here } public void avoidOtherLanguages() { if (!Locale.getDefault().getLanguage().equals(Locale.GERMAN.getLanguage())) { // when other than german, use english final Configuration configuration = getResources().getConfiguration(); configuration.locale = Locale.ENGLISH; getResources().updateConfiguration( configuration, getResources().getDisplayMetrics() ); } } 

Надеюсь, это сработает для вас!

** ОБНОВЛЕНО: РЕШЕНИЕ **

Привет придумал решение после многого поиска! Если вы используете систему с градиентом как сборку, вы можете сделать это в файле build.gradle :

  ..... defaultConfig { minSdkVersion 15 targetSdkVersion 22 versionCode 75 versionName "1.0.0" resConfigs "en", "de" } ... 

Используйте resConfig, чтобы сказать, что вы используете эту локальную конфигурацию, все остальные языки в ваших библиотеках будут удалены из пакета APK!

Дайте мне знать, если бы это сработало для вас!