我正在为Android开发一个非常简单的应用程序,它实际上只在屏幕上显示当前的时间和日期。考虑到这一点,我原本希望该应用程序的大小只有几千字节,但事实并非如此。
生成应用程序的“版本”并使用
构建(>);分析APK。。。
在Android Studio中,我可以看到大量的。png和。xml资源文件放置在中。apk文件,我从未使用或包含其中任何一个(我的项目只包含4个资源文件)。这让我很烦恼,因为这些自动包含的资源文件只会占用空间。
以下是自动包含的文件夹(蓝色),其中包含我正在谈论的文件:
正如你所见,这大约是应用程序大小的26%。
类似的情况也发生在“classes.dex”文件中,该文件包含数百(可能数千)个我在代码中从未引用过的类。例如,在查看文件包含的内容后,我在其中找到了“HashMap”,因为我从未在代码中导入它,所以将其包含在其中没有任何意义。
最后,我的问题是:
是否有可能以某种方式避免这些未使用的资源文件和类包含在的发行版中。apk?
注意:我已经在使用
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
在我的“build.gradle”文件中,这确实减少了的大小。但是,我上面描述的未使用的元素仍然包括在内。