2

我刚刚为我的应用程序添加了位置感知,基于此处描述的简单“获取最后一个已知位置”功能,该功能使用融合位置提供程序。

我一直在努力让我的应用程序尽可能地轻量级,所以令人失望的是,在添加简单的位置感知的过程中,我的 apk 大小已经从 185K 变为 2.1M。实际代码本身当然没有增加那个数量,所以我假设它是从某个地方拉入一个大库。

知道如何再次减小我的 apk 大小吗?

谢谢。

4

2 回答 2

3

几件事可以提供帮助:

  1. 使用ProGuard 去除未使用的代码 - 大多数人在开发构建时将其禁用,以避免额外的构建时间,并为发布构建启用。

  2. 使用Play Services 6.5 中引入的新的粒度依赖管理。您可以选择您需要的 Play Services 组件并排除其他组件。从文档中:

在 6.5 之前的 Google Play 服务版本中,您必须将整个 API 包编译到您的应用程序中。在某些情况下,这样做会使您的应用程序中的方法数量(包括框架 API、库方法和您自己的代码)保持在 65,536 个限制以下变得更加困难。

从 6.5 版开始,您可以有选择地将 Google Play 服务 API 编译到您的应用程序中。

您可以在此处找到可以包含的各个 API 的列表。

于 2014-12-27T12:48:52.370 回答
2

这个问题应该在你使用的时候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/

于 2014-12-27T12:16:09.200 回答