ADT (Eclipse) vs. Android Studio:APK文件大小相差多少是正常的?
Posted
技术标签:
【中文标题】ADT (Eclipse) vs. Android Studio:APK文件大小相差多少是正常的?【英文标题】:ADT (Eclipse) vs. Android Studio: How much APK file size difference is normal? 【发布时间】:2014-08-13 13:17:02 【问题描述】:我将一个 ADT 项目导入到最新版本的 android Studio (0.6.1)。这两个项目共享相同的代码和库。此外,这两个项目都在启用相同的 ProGuard 设置的情况下被清除和编译。
但是 ADT APK 文件的大小是 1.8 MB,而 Android Studio APK 文件是 2.7 MB。
由于 Android Studio 仍处于早期访问预览阶段,APK 文件大小增加 50% 是否属于正常情况,或者我应该能够获得几乎相同的 APK 文件大小?
(更新:我刚刚解压缩了 APK 文件:所有文件的大小几乎相同,但差异来自 classes.dex 文件,该文件为 1.2 MB Android Studio 上的 ADT 和 4.4 MB。)
【问题讨论】:
你试过解压apk看看有什么不同吗? 你试过解压apk看看有什么不同吗? 文件大小的差异来自classes.dex文件,ADT为1.2 MB,Android Studio为4.4 MB。嗯,差别很大。我觉得这不能算是正常现象? 有趣!!我以前从未注意到这一点。它可以是 gradle 特定的东西吗?也许它有更多的开销? 逆向工程工具将解压 classes.dex 并允许您比较其中的内容 【参考方案1】:通过对 classes.dex 文件进行逆向工程,我发现我的代码在 Android Studio 中没有被混淆。
尽管在我看来 ProGuard 是通过我的 build.gradle 中的 runProguard true
启用的,并且在生成签名的 APK 文件之前要求 ProGuard 的复选框。
我不得不将应用模块的构建变体从调试更改为发布为described here。
现在两个 APK 文件几乎大小相同(1.812 与 1.817 MB)。
【讨论】:
以上是关于ADT (Eclipse) vs. Android Studio:APK文件大小相差多少是正常的?的主要内容,如果未能解决你的问题,请参考以下文章
在 Eclipse 中安装 Android SDK 和 ADT
使用 ADT 代替 Android Studio 的 Eclipse