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. Это решило мою проблему.