Msgstr "ошибка: не удается найти символьную переменную xml" при попытке Google Analytics
Я пытаюсь внедрить Google Analytics для одного из моих приложений для Android. Я абсолютно новичок в разработке аналитики и 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>
Я уже провел два полных дня в этом выпуске, и мне нужно ваше предложение идти вперед.
Спасибо.
Ответы
Ответ 1
Вам нужно создать новую папку в папке res с именем xml
и переместить файл в эту папку. Также убедитесь, что вы правильно назовете имя макета, потому что в своем вопросе вы написали Global_tracker.xml
вместо Global_tracker.xml
. Это так важно.
Надеюсь, что это поможет.
Ответ 2
Проверьте, не забыли ли вы поставить
применить плагин: 'com.google.gms.google-services'
на уровне приложения build.gradle
Ответ 3
У меня была аналогичная проблема, когда была предикация понижения до более низкой версии из
com.google.gms:google-services:3.0.0
к
com.google.gms:google-services:1.3.1
(Не спрашивайте, почему (было предположение, чтобы исправить сборку CI script в спешке))
Итак, убедитесь, что вы не внесли изменения с понижением.
Ответ 4
Я также столкнулся с той же проблемой в библиотеке игровых сервисов версии 10.2.1 для gcm и google analytics, и проблема просто исправлена добавлением global_tracker.xml, как обсуждалось в @Hussein El Feky Отвечайте, но только это исправление не решено. Я также добавил еще две строки в strings.xml:
<string name="global_tracker">UA-XXXXXXXX-XX</string>
<string name="gcm_defaultSenderId">PROJECT-NO</string>
Ответ 5
Я столкнулся с подобной проблемой.
Использовать путь к классам com.android.tools.build:gradle:1.2.3
. Это решило мою проблему.