Java &引用;错误:找不到符号变量xml“;在尝试谷歌分析时

Java &引用;错误:找不到符号变量xml“;在尝试谷歌分析时,java,android,xml,google-analytics,Java,Android,Xml,Google Analytics,我正在尝试为我的一个android应用程序实现谷歌分析。我对分析和安卓应用开发完全是新手。我想试试谷歌开发者网站上给出的例子。当试图编译他们的代码时,我得到了指向分析应用程序java文件的错误,mTracker=analytics.newTracker(R.xml.global_tracker)行,.xml高亮显示。我把全部代码都贴在这里了 这是AnalyticsApplication.java package com.google.samples.quickstart.analytics;

我正在尝试为我的一个android应用程序实现谷歌分析。我对分析和安卓应用开发完全是新手。我想试试谷歌开发者网站上给出的例子。当试图编译他们的代码时,我得到了指向分析应用程序java文件的错误,
mTracker=analytics.newTracker(R.xml.global_tracker)行,.xml高亮显示。我把全部代码都贴在这里了

这是AnalyticsApplication.java

package com.google.samples.quickstart.analytics;

import android.app.Application;

import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Logger;
import com.google.android.gms.analytics.Tracker;

public class AnalyticsApplication extends Application {
  private Tracker mTracker;

  synchronized public Tracker getDefaultTracker() {
    if (mTracker == null) {
      GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
      // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
      mTracker = analytics.newTracker(R.xml.global_tracker);
    }
    return mTracker;
  }
}
My Global_tracker.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--Replace placeholder ID with your tracking ID-->
    <string name="ga_trackingId">UA-XXXXXXXX-X</string>

    <!--Enable automatic activity tracking-->
    <bool name="ga_autoActivityTracking">true</bool>

    <!--Enable automatic exception tracking-->
    <bool name="ga_reportUncaughtExceptions">true</bool>
</resources>

UA-XXXXXXXX-X
真的
真的
我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.samples.quickstart.analytics">

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

    <application
        android:name=".AnalyticsApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

我在这个问题上已经花了整整两天的时间,我需要你的建议


谢谢。

您需要在res文件夹中创建一个名为
xml
的新文件夹,并将文件移动到该文件夹中。还要确保正确调用布局名称,因为在您的问题中,您编写了
Global\u tracker.xml
,而不是
Global\u tracker.xml
。这非常重要


希望这能有所帮助。

我也面临着类似的问题


使用classpath
com.android.tools.build:gradle:1.2.3
。这就解决了我的问题。

检查一下你是否忘了把

应用插件:“com.google.gms.googleservices”


应用程序级别的build.gradle

我在执行从

com.google.gms:google-services:3.0.0

(不要问为什么(这是一个假设,以便快速修复CI构建脚本))


所以,确保您没有进行降级更改

对于gcm和google analytics的play service library版本10.2.1,我也遇到了同样的问题,只需添加global_tracker.xml就可以解决这个问题,正如@Hussein El-Feky答案中所讨论的那样,但唯一的解决方案并没有解决我的问题,我还添加了两个strings.xml中的更多行:

<string name="global_tracker">UA-XXXXXXXX-XX</string>
<string name="gcm_defaultSenderId">PROJECT-NO</string>
UA-XXXXXXXX-XX
项目编号

暴力解决方案就是简单地提供实际的分析代码

GoogleAnalytics analytics=GoogleAnalytics.getInstance(此);
跟踪器跟踪器=analytics.newTracker(“UA-XXXXXXXX-X”);
而不是遵循传统的程序

GoogleAnalytics analytics=GoogleAnalytics.getInstance(此);
Tracker Tracker=analytics.newTracker(R.xml.global_Tracker);
这是一种相当野蛮的解决问题的方法,但它确实有效,因为该方法只需要Google Analytics跟踪代码的实际字符串


他们甚至有相同的范例。

非常感谢。那救了我。你在说什么布局?global_tracking.xml是一个应由GoogleAnalytics gradle插件生成的xml资源文件。@Luten它只是一个由询问者在其他地方创建的值资源文件,而不是标题中明确指出的xml文件夹,询问者不知道他应该创建一个名为xml的新文件夹来解决此问题。所以他一定要创造它。您的回答是关于布局文件的,这很令人困惑,因为没有布局文件。此外,布局文件不应放在xml文件夹中。2.这不是使用google analytics的正确方式。全局_tracker.xml文件是自动生成的,不应手动创建。提问者;s的问题是由断开的自动生成引起的。关于这个问题的讨论和解决方法可以在这里找到:@Luten关于我写布局文件的说法是对的。这是我的一个错误,我昨天把它修好了。无论如何,这个解决方案解决了询问者的问题。此外,global_tracker.xml不是布局文件;它是一个值资源文件。此外,它不应该自动生成,因为询问者需要在资源文件中输入他的跟踪id。在文件末尾,对我来说,在应用应用程序插件后,它甚至可以在模块级build.gradle中工作。
<string name="global_tracker">UA-XXXXXXXX-XX</string>
<string name="gcm_defaultSenderId">PROJECT-NO</string>