NoClassDefFoundError:com.google.android.gms.analytics.Tracker

NoClassDefFoundError:com.google.android.gms.analytics.Tracker,android,google-analytics,google-play-services,android-appcompat,android-recyclerview,Android,Google Analytics,Google Play Services,Android Appcompat,Android Recyclerview,我试图使用新的RecyclerView,但当我把它放在我的项目中时,它在Jellybean4.1.2中给了我这个错误 E/dalvikvm﹕ Could not find class 'com.google.android.gms.analytics.Tracker', referenced from method com.redtab.android.MyApplication.getTracker 当我拿出回收器视图时,它确实起作用了 这是我的毕业证书 dependencies {

我试图使用新的RecyclerView,但当我把它放在我的项目中时,它在Jellybean4.1.2中给了我这个错误

E/dalvikvm﹕ Could not find class 'com.google.android.gms.analytics.Tracker', referenced from method com.redtab.android.MyApplication.getTracker
当我拿出回收器视图时,它确实起作用了

这是我的毕业证书

dependencies {
    compile 'com.android.support:support-v4:21+'
    compile 'com.google.android.gms:play-services:6.+'
    compile 'com.android.support:appcompat-v7:21+'
    compile 'com.android.support:recyclerview-v7:+'   /// if i take it off the tracker works
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project('libs:ViewPageIndicator')
}
在我的应用程序中,我有:

 public synchronized Tracker getTracker(TrackerName trackerId) {
    if (!mTrackers.containsKey(trackerId)) {

        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        Tracker t =analytics.newTracker("XX-XXXXX");
        mTrackers.put(trackerId, t);

    }
    return mTrackers.get(trackerId);
}
我用4.1.2测试了它,但它不工作&用5.0.2测试了它,它工作了


使用Android Studio 1.0.1

如果您使用的是proguard,那么最有可能的修复方法是将其添加到proguard文件中

-keep class com.google.android.gms.** {*;}

我在proguard文件中添加了它,但它不起作用。当我调用getTracker()时,日志上写着“java.lang.NoClassDefFoundError:com.google.android.gms.analytics.Tracker”;嗯。你确定它在正确的proguard文件中吗/你的build.gradle引用了你编辑的proguard文件吗?实际上我有这个调试{minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard rules.txt'),所以我没有启用proguard