从 google play 服务中删除未使用的功能

Posted

技术标签:

【中文标题】从 google play 服务中删除未使用的功能【英文标题】:Remove unused functions from google play services 【发布时间】:2016-03-09 04:22:27 【问题描述】:

我在我的项目中只为 GCM 使用 google play 服务。更新我的 google play 服务库时出现以下错误

[2015-12-04 14:50:10 - MyGame] Dx 
trouble writing output: already prepared
[2015-12-04 14:50:14 - Dex Loader] Unable to execute dex: method ID not in [0, 0xffff]: 65536
[2015-12-04 14:50:14 - MyGame] Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

在谷歌搜索时,我发现抛出此错误是因为我的 dex 文件超出了限制。我不想拆分我的 dex 文件。谁能告诉我如何删除未使用的功能。我没有看到太多关于使用 eclipse 执行此操作的建议。

我看到有人建议使用 proguard,但不知何故这对我不起作用。可能是因为我不太熟悉使用 proguard。

请帮忙。

【问题讨论】:

【参考方案1】:

尝试为gcm添加这个

com.google.android.gms:play-services-gcm:8.3.0

注意:如果您的应用中的方法引用数量超过 65K 限制,您的应用程序可能无法编译。您也许可以减轻这种情况 通过仅指定特定的 Google 来编译您的应用程序时出现问题 播放您的应用使用的服务 API,而不是全部。为了 有关如何执行此操作的信息,请参阅Selectively compiling APIs into your executable。

【讨论】:

您如何在您的应用中使用 google play 服务?我想通过在 build.gradle 中包含 com.google.android.gms:play-services:8.3.0 作为依赖项。 我使用的是eclipse而不是android studio 好的,让我们在这里试试这个解决方案:***.com/questions/26891208/… 如果它不起作用,将寻找其他替代方案

以上是关于从 google play 服务中删除未使用的功能的主要内容,如果未能解决你的问题,请参考以下文章

从 Google Play 中删除未发布的应用

使用 Proguard 删除 Google Play Services 库中未使用的类

Proguard 使用 Google Play 服务库返回错误

如何从 Google Play 游戏服务排行榜中删除被黑分数?

缩小 Google Play 服务库以仅与 Google Analytics 一起使用

如何测试使用 google play 游戏服务的未发布的 android 游戏?