Java &引用;错误:找不到符号变量xml“;在尝试谷歌分析时
我正在尝试为我的一个android应用程序实现谷歌分析。我对分析和安卓应用开发完全是新手。我想试试谷歌开发者网站上给出的例子。当试图编译他们的代码时,我得到了指向分析应用程序java文件的错误,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;
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
。这非常重要
希望这能有所帮助。我也面临着类似的问题
使用classpathcom.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>