最近我从Eclipse切换到了Android Studio.我有一个具有多个模块依赖项的项目.一个依赖是支持库appcompat,包含如下:
dependencies {
compile "com.android.support:appcompat-v7:19+"
}
Run Code Online (Sandbox Code Playgroud)
在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'
Run Code Online (Sandbox Code Playgroud)
但事实并非如此,我的应用程序仅支持前8种列出的语言.当我将这个apk上传到Play时,它会向我显示以前版本的更改(使用eclipse构建),并且它表示我已经添加了47种语言,但同样,这不是真的.Play devconsole的屏幕截图:

我在Google代码上发现了类似的问题,但没有回复,我希望解决这个问题,因为我必须将我的新APK上传到Play.
任何想法如何摆脱这47种其他语言,而图书馆必须保持与资源导入,以正常工作?
更新: 在谷歌代码上他们说这是现在的预期,他们希望添加一种方法来选择你想要包含在apk中的内容.
android apk android-resources android-support-library android-studio
在将目标targetSdkVersion和compileSdkVersion设为26后,我的android apk大小增加了500kb.
安卓apk大小(targetSdkVersion和compileSdkVersion为25)= 5.6mb
安卓apk大小(targetSdkVersion和compileSdkVersion为26)= 6.2mb
在分析了apk之后,我知道了具有".so"的libs文件夹只增加了大小.
任何人都可以建议真正发生的事情以及如何最小化这种尺寸变化?
我在这里使用答案: Android支持库大大增加了APK的大小
为了通过删除本地化来减少apk大小,我没有从支持库中使用如下:
defaultConfig {
...
resConfig "en"
}
And it work :)
Run Code Online (Sandbox Code Playgroud)
当我将apk上传到Google Play时,我相信我会看到
本地化默认
代替
本地化默认+ 73种语言
如果这是真的,限制本地化也会影响/减少我可以分配的国家/地区吗?
更明确地说,如果我的apk仅本地化为英语,我仍然可以分发到所有国家/地区吗?
android localization distribution apk android-support-library