Google Analytics 在运行时抛出 NoClassDefFoundError

Google Analytics throws NoClassDefFoundError at runtime

编译项目时,它工作正常但是当 运行 它抛出一个 运行 时间异常

java.lang.NoClassDefFoundError: com.fiz.AnalyticsTrackers

一切都配置得很好,就像在 gradle 文件

中添加了 google 分析依赖项
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.google.android.gms:play-services-analytics:7.3.0'
}

清单文件中的权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

从代码库初始化和触发事件

AnalyticsTrackers analyticsTrackers = AnalyticsTrackers.getInstance();
Tracker tracker = analyticsTrackers.getTracker();
tracker.send(new HitBuilders.EventBuilder().setCategory(category).setAction(action).setLabel(label).build());

这里的 AnalyticsTrackers 是一个自定义 class,它包含常见的 GoogleAnalytics 功能。

启用 Multidex 支持解决此问题。下面是配置方法。

正在构建 gradle 文件

 defaultConfig {
        multiDexEnabled true
 }

compile 'com.android.support:multidex:1.0.1'

在我的申请中class

public class MyApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}