从 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 服务中删除未使用的功能的主要内容,如果未能解决你的问题,请参考以下文章
使用 Proguard 删除 Google Play Services 库中未使用的类
Proguard 使用 Google Play 服务库返回错误
如何从 Google Play 游戏服务排行榜中删除被黑分数?