Android Студия интеграции Firebase дает ошибку - PullRequest
0 голосов
/ 17 марта 2020

Я новичок в android studio, и я пытаюсь научиться работать с Firebase и реализовать вход в Google для моего фиктивного приложения.

Я пошел дальше и следовал документации Google для включения определенных строк в файлы build.gradle

в проекте / Gradle Я добавил classpath 'com.google.gms:google-services:4.3.3'

и в приложении / Gradle I проверил для apply plugin: 'com.android.application' и apply plugin: 'com.google.gms.google-services'

, поскольку он уже был там, я добавил: implementation 'com.google.firebase:firebase-analytics:17.2.2'

Я синхронизировал свой проект и при попытке запустить приложение я получаю следующую ошибку :

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.

Скажите, пожалуйста, что я делаю не так? Я использую android studio на Windows 10

РЕДАКТИРОВАТЬ: вот мой файл манифеста xml в соответствии с предложением пользователя

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

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

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Файл моего приложения

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.MyName.TestApp"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.firebase:firebase-analytics:17.2.3'
}

apply plugin: 'com.google.gms.google-services'

файл пакета gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'
        classpath 'com.google.gms:google-services:4.3.3'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

1 Ответ

2 голосов
/ 17 марта 2020

Если вы хотите использовать Analytics версии 17.2.2, вам нужно обновить androidx. Из документов:

Обновленные библиотеки не будут работать, если вы не внесете в свое приложение следующие изменения:

  1. Обновите ком. android .tools. build: gradle до версии 3.2.1 или новее.
  2. Обновите compileSdkVersion до версии 28 или новее.
  3. Обновите приложение, чтобы оно использовало Jetpack (AndroidX); следуйте инструкциям в Миграция на AndroidX.

https://firebase.google.com/support/release-notes/android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...