如何减少apk中的GMS大小

时间:2017-08-26 11:47:32

标签: android proguard android-proguard android-instant-apps

我试图减少即时应用apks的大小。我设法将主模块划分为几个较小的模块(功能和库)。构建应用程序后,apk文件的大小(启用minify):4.9 MB(基本功能),5 MB(ui功能 - 活动,片段,接收器等)和1.3MB(项目详细信息功能)。问题是我不知道我还能从模块中删除什么,因为使用最大尺寸的软件包是... com.google.android.gms.internal(下面的屏幕)。

BaseFeature: enter image description here

UI功能: ui feature

我担心即使我将这些模块拆分得更多,这个库的问题仍然存在。我非常接近完成应用程序的即时应用程序,但由于尺寸太大,我无法上传这些文件。任何人都知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

通常,您可以对reduce APK size执行此操作。

文档范围内的方法。

  1. Reduce resource count and size

      

    让你的APK更小的一个简单方法是减少   它包含的资源的数量和大小。特别是,你可以   删除您的应用不再使用的资源,您可以使用   可缩放// pass settings.php's $symbol here $info = selected($key, $secret, $symbol); 个对象代替图像文件。

    • 删除未使用的资源
    • 尽量减少图书馆的资源使用
    • 仅支持特定密度
    • 使用可绘制对象
    • 重用资源
    • 从代码
    • 渲染
    • 紧缩PNG文件
    • 压缩PNG和JPEG文件
    • 使用WebP文件格式
    • 使用矢量图形
    • 使用矢量图形制作动画图像
  2. Reduce native and Java code

    • 删除不必要的生成代码
    • 避免使用枚举
    • 减少原生二进制文件的大小
    • 删除调试符号
    • 避免提取本机库
  3. Maintain multiple lean APKs

  4.   

    您的APK可以包含用户下载但从不使用的内容,例如   区域或语言信息。创建最小的下载   您的用户可以将自己的应用细分为多个不同的APK   通过屏幕尺寸或GPU纹理支持等因素。

    Shrink Your Code and Resources

    的另一个引用
      

    要使您的APK文件尽可能小,您应该启用   缩小以删除发布版本中未使用的代码和资源。   本页介绍了如何执行此操作以及如何指定代码和   在构建期间保留或丢弃的资源。

答案 1 :(得分:0)

如果您使用 AdMob,play-services-ads:19.6.0 大约需要 2.1Mb。 您可以尝试精简版 (<500Kb),如果它适用于您的应用

https://developers.google.com/admob/android/lite-sdk