.apk android的大小

时间:2018-01-11 05:35:49

标签: android apk

构建apk文件后,我注意到我的应用程序大小为2MB(原始文件大小)& 1.7MB(下载大小)。但是应用程序非常简单,其大小为< 500kb(包括资源和java文件),其中 classes.dex 单独占用大约1.3MB here

我使用 ProGuard 来混淆代码,如下所示

android {
...

buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'),
        'proguard-rules.pro'
    }
}

我在堆栈溢出时也经历了链接Reduce Size of .apk file this,但没有找到减少.apk大小的方法。

gradle 中添加的唯一依赖项是:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:26.1.0'

}

我很确定这是由于支持库加载项。那么有人可以帮我找到减少/减小这个尺寸的方法吗?

非常感谢任何见解。谢谢。

1 个答案:

答案 0 :(得分:0)

阅读Shrink Your Code and Resources

  

资源缩减仅适用于代码收缩。   代码缩减器删除所有未使用的代码后,资源缩减器   可以识别应用程序仍在使用哪些资源。这是特别的   当您添加包含资源的代码库时,您必须这样做   删除未使用的库代码,以便库资源成为   未引用的,因而可以通过资源缩减器移除。

要启用资源收缩,请在 shrinkResources 文件中将 build.gradle 属性设置为true(与minifyEnabled一起用于代码收缩)。例如:

android {
    ...
    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true
            zipAlignEnabled true <-- optimization
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules.pro'
        }
    }
}

<强> FYI

您可以使用VECTOR图像。使用矢量绘图而不是几个位图可以减小apk的大小。

  

classes.dex:所有Java源文件都转换为Java类文件   由Java编译器。 Android SDK包含一个名为dx的工具   将Java类文件转换为.dex(Dalvik可执行文件)文件。