APK瘦身,就是减少APK的体积。看看现在的apk,有些功能很简单的apk,大小居然过百兆。在看看人家《王者荣耀》,这么好玩精致的游戏才三百多兆。所以APK瘦身的知识还是要学习一下的。这篇文章也不说太多,就说一下语言包瘦身。
大家都知道了,Android的应用是支持多种语言的,理论上,语言切到哪个国家,应用就应该显示那个国家的语言。下面是Android语言资源目录下多国语言的文件夹。
看到啦,这么多种语言,肯定很占体积。现在我很极端,为了减少apk大小,我就只做英语。应该怎么办?
你肯定说,妈蛋,直接把文件夹通通通通删掉,不就行了吗?尴尬,行是行,但这样一点都不酷,而且万一项目经理抽风说,来来,我现在想加个法克语,那不是又要把语言文件夹拷进去,麻烦死了。
现在提供一种方法,只需要加一句配置就可以控制将什么语言包编进apk。方法就是在build.gradle中增加一句
resConfigs "en"
完整的build.gradle文件,上面哪一句找到了吗?就是加在defaultConfig 里面啦。
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.rubbishdemo"
minSdkVersion 22
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
resConfigs "en"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:23.4.0'
testCompile 'junit:junit:4.12'
}
来个效果给你们看下,现在我的工程里面有两种语言包,中文和英文
我的手机在中文语言设置的情况下,配置与不配置两种情况下安装apk后打开显示是如下
各位神人看到没有,没有配置resConfigs "en"的情况下,中文会显示。但配置之后只能显示英文了。说明成功把中文语言包踢出apk了。哈哈哈哈!!太简单了。