我刚刚为我的应用程序添加了位置感知,基于此处描述的简单“获取最后一个已知位置”功能,该功能使用融合位置提供程序。
我一直在努力让我的应用程序尽可能地轻量级,所以令人失望的是,在添加简单的位置感知的过程中,我的 apk 大小已经从 185K 变为 2.1M。实际代码本身当然没有增加那个数量,所以我假设它是从某个地方拉入一个大库。
知道如何再次减小我的 apk 大小吗?
谢谢。
我刚刚为我的应用程序添加了位置感知,基于此处描述的简单“获取最后一个已知位置”功能,该功能使用融合位置提供程序。
我一直在努力让我的应用程序尽可能地轻量级,所以令人失望的是,在添加简单的位置感知的过程中,我的 apk 大小已经从 185K 变为 2.1M。实际代码本身当然没有增加那个数量,所以我假设它是从某个地方拉入一个大库。
知道如何再次减小我的 apk 大小吗?
谢谢。
几件事可以提供帮助:
使用ProGuard 去除未使用的代码 - 大多数人在开发构建时将其禁用,以避免额外的构建时间,并为发布构建启用。
使用Play Services 6.5 中引入的新的粒度依赖管理。您可以选择您需要的 Play Services 组件并排除其他组件。从文档中:
在 6.5 之前的 Google Play 服务版本中,您必须将整个 API 包编译到您的应用程序中。在某些情况下,这样做会使您的应用程序中的方法数量(包括框架 API、库方法和您自己的代码)保持在 65,536 个限制以下变得更加困难。
从 6.5 版开始,您可以有选择地将 Google Play 服务 API 编译到您的应用程序中。
您可以在此处找到可以包含的各个 API 的列表。
这个问题应该在你使用的时候proGuard
在你发布你的APP之前解决。我和android强烈推荐你。proGuard
附带 android SDK 和混淆(在对您的应用程序进行逆向工程后使其更难阅读)并缩小您的代码。这意味着它会杀死您不使用的死代码,而您只使用right now
了一小部分 Google Play 服务。您使用的课程越多,您的应用程序就会越大。Proguard 在逻辑上只能切断未使用的代码。希望能帮助到你
您可以在此处阅读有关如何在 android 中使用 proguard 的更多信息:http: //developer.android.com/tools/help/proguard.html
他通常在这里做什么:http: //proguard.sourceforge.net/