android – 如何轻松删除不必要的本地化资源从添加的库在版本APK

前端之家收集整理的这篇文章主要介绍了android – 如何轻松删除不必要的本地化资源从添加的库在版本APK前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序很简单,不需要很多本地化.

我提供默认语言(英文)和德语 – 这是我所想要的,将会提供的,因为该应用程序完全集中在德国.

最近我添加了Google Play服务库,我面对的问题是,我的应用程式中添加了56(!!!)种其他语言,就像Google Play商店告诉我一样.原因是:图书馆在我的应用程序中不需要更多的语言资源.如果Google Play对话框以法语显示,其余的仅有英文/德文,这根本就没有意义.

我不想手动从库项目中删除资源,这是乏味且容易出错的.另外,也许我会有另一个应用程序依靠同一个图书馆,那里我想要更多的语言?

那么 – 我该怎么做呢?

谢谢!

解决方法

我明白您的问题,简单的解决方案是从图书馆中删除所有额外的语言,但您需要使用每个新版本的Google Play服务,如您所说,如果您需要其他应用程序中的其他语言,不是最好的选择.

而是试图强制您的应用程序使用德语或英语作为默认值:

您需要在您的Application类中添加代码

@H_403_20@@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() ); } }

我希望它适合你!

**更新:解决方案**

嗨,想出了一个解决方案,经过很多谷歌搜索!如果您使用gradle作为构建系统,您可以在build.gradle文件中执行此操作:

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

使用resConfig告诉毕业生你只使用这些语言环境配置,您的库中的所有其他语言将被剥离出APK包!

让我知道这是否适合你!

猜你在找的Android相关文章