【发布时间】:2014-12-10 02:26:57
【问题描述】:
我遇到了这个问题java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536,我决定从 dex 文件中排除一些方法。我的 gradle.build:
compile ('com.google.android.gms:play-services:+') {
exclude group: "com.google.android.gms.analytics"
exclude group: "com.google.android.gms.games"
exclude group: "com.google.android.gms.plus"
exclude group: "com.google.android.gms.drive"
exclude group: "com.google.android.gms.ads"
}
我认为这个sn-p的代码是错误的,因为有错误method ID not in [0, 0xffff]...。如何排除 Google Play 服务的不必要部分?我只使用地图和 GCM。
已更新。
感谢反向。这是非常有用的代码。有一个用于获取方法计数的脚本(也可以查看现有包的名称)https://gist.github.com/JakeWharton/6002797 (source ./dex.sh; dex-method-count-by-package test.apk)
在使用 reVerse 答案中的代码的 sn-p 之前
Count of methods / Package
...
22484 com.google.android.gms
2 com.google.android.gms.actions
578 com.google.android.gms.ads
152 com.google.android.gms.ads.doubleclick
25 com.google.android.gms.ads.identifier
86 com.google.android.gms.ads.internal
86 com.google.android.gms.ads.internal.rawhtmlad
86 com.google.android.gms.ads.internal.rawhtmlad.client
88 com.google.android.gms.ads.mediation
4 com.google.android.gms.ads.mediation.admob
73 com.google.android.gms.ads.mediation.customevent
26 com.google.android.gms.ads.purchase
118 com.google.android.gms.ads.search
...
858 com.google.android.gms.games.internal.api
43 com.google.android.gms.games.internal.constants
8 com.google.android.gms.games.internal.data
31 com.google.android.gms.games.internal.events
9 com.google.android.gms.games.internal.experience
215 com.google.android.gms.games.internal.game
56 com.google.android.gms.games.internal.multiplayer
23 com.google.android.gms.games.internal.notification
80 com.google.android.gms.games.internal.player
86 com.google.android.gms.games.internal.request
...
使用reVerse答案中的sn-p代码后,包:广告,游戏等被删除。
【问题讨论】:
标签: android android-gradle-plugin