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