应用程序大小在不同的Android版本中不同

我在安装后阅读了大量有关不同应用程序大小的内容。 EG:为什么在不同的Android版本中增加apk大小

但是我仍然不明白。 我有一个应用程序(在LibGDX中制作的com.onhost.skuska)和Android 4.3 。 安装后立即(例如没有额外的数据),它需要17.54 MB ,在Android 5.0上 ,Galaxy S6需要30.73 MB

起初我认为它是关于不同的硬件或屏幕分辨率。 我试图在安卓4.3版的S4的Genymotion模拟器上安装该应用程序,它或多或少地是17.5 MB。 当我使用Android 5.0在S4上安装应用程序时,安装后的应用程序大小增加到29.21 MB。

我已经调查过安装后的实际文件(在终端上使用find -name“skuska”)。 在Android 5.0上,Galaxy S6(Genymotion)的主要文件夹和文件是这些:

  • 文件,22 MiB,/data/dalvik-cache/x86/data@app@com.onhost.skuska-1@base.apk@classes.dex
  • 文件夹,912 KiB,/data/data/com.onhost.skuska/lib/包含:
  • 文件,668 KiB,libgdx-freetype.so
  • 文件,244 KiB,libgdx.so
  • 文件夹,8.8 MiB,data / app / com.onhost.skuska-1 /包含:
  • 文件,8120 KiB,base.apk
  • 文件夹,920 KiB,lib / x86 /再次包含:libgdx-freetype.so和libgdx.so
  • Android 4.3上的文件如下所示:

  • 文件,8924 KiB,/data/dalvik-cache/data@app@com.onhost.skuska-2.apk@classes.dex
  • 文件,8120 KiB,/data/app/com.onhost.skuska-2.apk
  • 文件夹,912 KiB,/data/app-lib/com.onhost.skuska-2/包含:
  • 文件,668 KiB,libgdx-freetype.so
  • 文件,244 KiB,libgdx.so
  • 正如我们所看到的,主要区别在于.dex文件。 我想问问你有没有办法让.dex文件的大小与Android 4.3相同? 或者为什么在Android 5.0中有两次* .so文件?

    非常感谢您提出解决此问题的任何建议。

    编辑:我确实使用Proguard缩小(没有优化或混淆)。 编辑2:我也检查了一些其他未在LibGDX中编程的应用程序,它们的5.0版本更大,但并不那么显着。


    他们是不同尺寸的原因是因为Android 5.0具有附加功能,这些功能包含在classes.dex中用于兼容性原因(即使您不使用它们)。 这有时也被称为样板代码。 另外,如果你有两种不同的安装方式,但都使用相同的应用程序名称(com.onhost.skuska),那么android将安装它们,而不是覆盖第一个,而是向-1结束(com.onhost.skuska-1)等

    /data/dalvik-cache/x86/data@app@com.onhost.skuska-1@base.apk@classes.de是一个缓存文件,用于加快常用应用程序的加载速度,使apk文件不会每次都不必提取。

    链接地址: http://www.djcxy.com/p/66915.html

    上一篇: App size differs in different Android versions

    下一篇: Signed apk not run in mobile device