Android GoogleAnalytics getInstance

时间:2014-12-11 12:43:35

标签: android google-analytics hang

在Application类中,在create方法中我调用GoogleAnalytics.getInstance(this),应用程序只是在任何设备上冻结... 谷歌播放服务6.1工作得很好,现在是6.5,我不知道是什么原因造成的.... 有什么想法吗?

public class BaseApplication extends Application {

    private static Tracker mTracker;
    private MyProfile mMyProfile;

    public BaseApplication() {
        super();
    }

    private void initTracker() {
        if (mTracker == null) {
            GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
            mTracker = analytics.newTracker(R.xml.global_tracker);
            mTracker.enableAdvertisingIdCollection(true);
        }
    }

`...

Gradle 
dependencies {
    compile project(':IMFramework')
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.google.android.gms:play-services-base:6.5.87'
    compile 'com.google.android.gms:play-services-maps:6.5.87'
}

5 个答案:

答案 0 :(得分:19)

  

使用Google Play服务6.1

工作得很好

好,我确实回滚到6.1。+ 我认为它会在下次更新中修复一些内部错误。

<强> UPD

它固定在7.0

答案 1 :(得分:14)

从清单中删除此行为我解决了问题:

元数据android:name =“com.google.android.gms.analytics.globalConfigResource”         android:resource =“@ xml / global_tracker”

答案 2 :(得分:3)

尝试解析xml跟踪器定义时,

GoogleAnalytics.getInstance()死锁。

此问题已在2015年3月19日发布的Google Play Services 7.0 中修复。升级到7.0将解决死锁问题。 http://developer.android.com/google/play-services/index.html

如果必须使用Play Services 6.5,则可以通过从代码而不是xml资源初始化跟踪器来解决死锁问题:

public static final String TRACKER_ID="UA-xxx";
...
mTracker = analytics.newTracker(TRACKER_ID);
// Configure mTracker using the tracker provided methods

答案 3 :(得分:2)

我收到了这个错误:

java.lang.NoSuchMethodError: No static method zzz(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzaa; or its super classes (declaration of 'com.google.android.gms.common.internal.zzaa' appears in /data/data/com.crave.iapdemo/files/instant-run/dex/slice-com.google.android.gms-play-services-basement-10.0.1_b9da1447b99cc6cbc2fa601fb84d0418780bfa55-classes.dex)
                                                                       at com.google.android.gms.analytics.internal.zzf.zzX(Unknown Source)
                                                                       at com.google.android.gms.analytics.GoogleAnalytics.getInstance(Unknown Source)

在这一行:

GoogleAnalytics.getInstance(this)

我的解决方案是升级它:

dependencies {
    // play services
    compile 'com.google.android.gms:play-services-gcm:9.0.0'
    compile 'com.google.android.gms:play-services-analytics:9.0.0'
}

进入:

dependencies {
    // play services
    compile 'com.google.android.gms:play-services-gcm:10.0.1'
    compile 'com.google.android.gms:play-services-analytics:10.0.1'
}

答案 4 :(得分:0)

如果这里提到的其他修复不适合你,这里对我有用:

在build.gradle中,我改变了......

compile 'com.google.android.gms:play-services:6.5.87'

...到...

compile 'com.google.android.gms:play-services-base:6.5.87'

......它停止了。我不知道为什么。