Proguard NoClassDefFoundError

时间:2015-11-09 17:00:35

标签: android google-play-services proguard fragmentpageradapter android-proguard

今天我更新了我的gradle以使用最新的游戏服务:

的build.gradle

classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.google.gms:google-services:1.5.0-beta2'

app.gradle

compile 'com.google.android.gms:play-services-analytics:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'

我使用proguard来混淆代码,我收到以下错误:

java.lang.NoClassDefFoundError: my.package.adapters.MyPagerAdapter

我尝试将其添加到proguard文件中:

-keep class my.package.adapters.MyPagerAdapter { *; }

但没有运气。用以前版本的播放服务没问题。 我从包android.support扩展 FragmentPagerAdapter 的每个类都出现此错误。 v13 .app.FragmentPagerAdapter。

有任何帮助吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

如果要对应用程序进行多索引编制,请考虑在项目级build.gradle中使用multiDexKeepFile属性或multiDexKeepProguard属性。

此处提供更多信息https://developer.android.com/studio/build/multidex.html

基本上,您需要指定要在主dex文件中保留哪些类,以便应用程序正确启动而不会崩溃。在确定proguard不是问题之后,我个人最终使用了multiDexKeepProguard。