E / Trace:错误打开跟踪文件:没有这样的文件或目录(2)

时间:2015-03-15 22:49:52

标签: java android xml google-analytics

我最近开始将Google Analytics集成添加到我的应用程序中。为此,我一直按照此处提供的步骤进行操作:https://developers.google.com/analytics/devguides/collection/android/v4/

我没有Application类,所以我用这里提供的基本实现创建了一个: http://www.javacodegeeks.com/2014/04/working-with-google-analytics-api-v4-for-android.html

在每个活动中,我添加了以下代码段:

@Override
protected void onStart() {
    super.onStart();
    //Get an Analytics tracker to report app starts & uncaught exceptions etc.
    GoogleAnalytics.getInstance(this).reportActivityStart(this);
}

@Override
protected void onStop() {
    super.onStop();
    //Stop the analytics tracking
    GoogleAnalytics.getInstance(this).reportActivityStop(this);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    //Get a Tracker (should auto-report)
    ((MyApplication) getApplication()).getTracker(MyApplication.TrackerName.APP_TRACKER);
    //...
}

我开始在相应的Google Analytics页面上看到实时用户。

无论出于何种原因,当我通过Android Studio的全新安装启动应用程序时,它运行正常。但是,当我通过任务管理器终止应用程序并再次启动它时,它只显示一个空白屏幕,并提供以下错误。

E/Trace﹕ error opening trace file: No such file or directory (2)
D/ActivityThread﹕ setTargetHeapUtilization:0.25
D/ActivityThread﹕ setTargetHeapIdealFree:8388608
D/ActivityThread﹕ setTargetHeapConcurrentStart:2097152
W/dalvikvm﹕ VFY: unable to resolve virtual method 36489: Ljava/lang/ReflectiveOperationException;.printStackTrace ()V
W/dalvikvm﹕ VFY: unable to resolve virtual method 11845: Landroid/view/ViewGroup;.onRtlPropertiesChanged (I)V
W/dalvikvm﹕ VFY: unable to resolve virtual method 11842: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
W/dalvikvm﹕ VFY: unable to resolve virtual method 11848: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
W/dalvikvm﹕ VFY: unable to resolve virtual method 9471: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
W/dalvikvm﹕ VFY: unable to resolve virtual method 565: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
W/dalvikvm﹕ VFY: unable to resolve virtual method 587: Landroid/content/res/TypedArray;.getType (I)I

我觉得我在这里遗漏了一些超级基本的东西。有人能指出我正确的方向吗?

我查看了Stack Overflow上的一些相关问题,它看起来并不像我目前的情况。

我正在使用播放服务版本65870000,并在我的清单中添加以下两行:

<!--This meta-data tag is required to use Google Play Services.-->
<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

<!-- Google Analytics Version v4 needs this value for easy tracking -->
<meta-data
    android:name="com.google.android.gms.analytics.globalConfigResource"
    android:resource="@xml/global_tracker" />

我目前的测试设备是运行Android 4.1.2的LG Lucid 2(vs870)

如果还有我应该提供的任何其他代码段,请随时提出。

注意:我检查了我之前的标记,但此问题不存在,因此必须与创建此Application类src/main/res/xml/app_tracker.xmlsrc/main/res/xml/global_tracker.xml配置文件并添加相关活动中需要的分析设置代码。

提前感谢您的任何帮助或建议!

修改:如果我从MainActivity中删除以下行,则应用每次都会正常启动:

// onStart
GoogleAnalytics.getInstance(this).reportActivityStart(this);
// onStop
GoogleAnalytics.getInstance(this).reportActivityStop(this);
// onCreate
((MyApplication) getApplication()).getTracker(MyApplication.TrackerName.APP_TRACKER);

1 个答案:

答案 0 :(得分:0)

发现它!使用XML进行GA全局配置时,Google AnalyticsSDK中的错误会导致ANR。你不能使用这个Meta标签:

<!-- Google Analytics Version v4 needs this value for easy tracking -->
<meta-data
    android:name="com.google.android.gms.analytics.globalConfigResource"
    android:resource="@xml/global_tracker" />

更多地看到这个惊人的答案: https://stackoverflow.com/a/27542483/740474