Google Analytics在运行时抛出NoClassDefFoundError

时间:2016-05-25 08:00:49

标签: java android google-analytics google-analytics-v4 android-studio-2.1

编译项目时,它工作正常但运行时会抛出运行时异常

java.lang.NoClassDefFoundError: com.fiz.AnalyticsTrackers$1

一切都配置得很好,比如在gradle文件中添加了谷歌分析依赖

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是一个自定义类,其中包含常见的GoogleAnalytics功能。

1 个答案:

答案 0 :(得分:2)

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

在构建gradle文件中

 defaultConfig {
        multiDexEnabled true
 }

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

在我的应用程序类

public class MyApplication extends Application {

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