"error: cannot find symbol variable xml" while trying google analytics
"error: cannot find symbol variable xml" while trying google analytics
我正在尝试为我的 android 应用之一实施 google 分析。对于分析和 android 应用程序开发,我是全新的。我想尝试 google 开发者网站中给出的示例。尝试编译他们的代码时,我收到指向分析应用程序 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;
}
}
我的 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>
我的清单文件
<?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_tracker.xml
而不是 global_tracker.xml
。这太重要了。
希望对您有所帮助。
我遇到了类似的问题。
使用类路径com.android.tools.build:gradle:1.2.3
。那解决了我的问题。
勾选你有没有忘记放
apply plugin: 'com.google.gms.google-services'
在应用级别 build.gradle
我在从
降级到较低版本时遇到了类似的问题
com.google.gms:google-services:3.0.0
至
com.google.gms:google-services:1.3.1
(不要问为什么(这是为了快速修复CI构建脚本的假设))
因此,请确保您没有进行降级更改
我在 gcm 和 google 分析的播放服务库版本 10.2.1 中也遇到了同样的问题,只需添加 global_tracker.xml 即可解决问题正如 @Hussein El Feky 答案中所讨论的,但只有那个修复没有解决我的问题,我还在 strings.xml[=16 中添加了两行=]:
<string name="global_tracker">UA-XXXXXXXX-XX</string>
<string name="gcm_defaultSenderId">PROJECT-NO</string>
蛮力解决方案是简单地提供实际的分析代码。
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker tracker = analytics.newTracker("UA-XXXXXXXXX-X");
而不是遵循 android 常规程序
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker tracker = analytics.newTracker(R.xml.global_tracker);
这是解决问题的一种非常野蛮的方法,但它确实有效,因为 newTracker() 方法只需要 Google Analytics 的实际 string 值跟踪代码。
official reference document甚至有相同的范例。
我正在尝试为我的 android 应用之一实施 google 分析。对于分析和 android 应用程序开发,我是全新的。我想尝试 google 开发者网站中给出的示例。尝试编译他们的代码时,我收到指向分析应用程序 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;
}
}
我的 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>
我的清单文件
<?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_tracker.xml
而不是 global_tracker.xml
。这太重要了。
希望对您有所帮助。
我遇到了类似的问题。
使用类路径com.android.tools.build:gradle:1.2.3
。那解决了我的问题。
勾选你有没有忘记放
apply plugin: 'com.google.gms.google-services'
在应用级别 build.gradle
我在从
降级到较低版本时遇到了类似的问题com.google.gms:google-services:3.0.0
至
com.google.gms:google-services:1.3.1
(不要问为什么(这是为了快速修复CI构建脚本的假设))
因此,请确保您没有进行降级更改
我在 gcm 和 google 分析的播放服务库版本 10.2.1 中也遇到了同样的问题,只需添加 global_tracker.xml 即可解决问题正如 @Hussein El Feky 答案中所讨论的,但只有那个修复没有解决我的问题,我还在 strings.xml[=16 中添加了两行=]:
<string name="global_tracker">UA-XXXXXXXX-XX</string>
<string name="gcm_defaultSenderId">PROJECT-NO</string>
蛮力解决方案是简单地提供实际的分析代码。
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker tracker = analytics.newTracker("UA-XXXXXXXXX-X");
而不是遵循 android 常规程序
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker tracker = analytics.newTracker(R.xml.global_tracker);
这是解决问题的一种非常野蛮的方法,但它确实有效,因为 newTracker() 方法只需要 Google Analytics 的实际 string 值跟踪代码。
official reference document甚至有相同的范例。