Приложение FirebaseApp.initializeApp не запускается [дубликат]

Сунь Цзы, древний китайский стратег, генерал и философ, сказал:

Говорят, что если вы знаете своих врагов и знаете себя, вы можете выиграть сто сражений без единого потеря. Если вы знаете только себя, но не своего оппонента, вы можете победить или проиграть. Если вы не знаете ни себя, ни своего врага, вы всегда будете подвергать себя опасности.

В этом случае ваш враг - это HTML, и вы либо сами, либо регулярное выражение. Возможно, вы даже Perl с нерегулярным регулярным выражением. Знайте HTML. Знайте сами.

Я написал хайку, описывающий характер HTML.

HTML has
complexity exceeding
regular language.

Я также написал хайку, описывающий характер регулярного выражения в Perl.

The regex you seek
is defined within the phrase
<([a-zA-Z]+)(?:[^>]*[^/]*)?>
99
задан Roy Solberg 6 January 2017 в 10:25
поделиться

11 ответов

У меня была эта же проблема некоторое время назад.

Вы пытаетесь получить экземпляр Firebase без его инициализации. Пожалуйста, добавьте эту строку кода, прежде чем пытаться получить экземпляр Firebase:

FirebaseApp.initializeApp(this);
68
ответ дан Gabriel Lidenor 15 August 2018 в 20:58
поделиться
  • 1
    Вы добавили это в расширенный класс приложения и onCreate или в свою деятельность перед использованием Firebase API? – Henrik 20 March 2017 в 16:54
  • 2
    @Henrik Только в ExtendedApplication.onCreate (). – Roy Solberg 10 April 2017 в 07:11
  • 3
    @RoySolberg Было ли это достаточно, чтобы полностью решить проблему в вашем случае? – Sébastien 11 December 2017 в 09:24
  • 4
    Ну, это не сработало для меня (еще несколько сбоев в производстве). Я попробую добавить код инициализации в свой первый Activity onCreate (). – Sébastien 13 December 2017 в 09:18
  • 5
    Важно отметить, что помимо этой инициализации сервисы google должны применяться следующим образом: apply plugin: 'com.google.gms.google-services' – pamobo0609 7 March 2018 в 21:29

Прежде всего вам нужно добавить com.google.gms: google-services: xxx на уровне root build.gradle

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.1'
    classpath 'com.google.gms:google-services:3.0.0'

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

}

После этого вам необходимо применить плагин: «com.google.gms.google-services» в app / build.gradle

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'

compile 'com.google.android.gms:play-services-gcm:9.8.0'
compile 'com.google.android.gms:play-services-maps:9.8.0'
compile 'com.google.android.gms:play-services-location:9.8.0'
compile 'com.google.firebase:firebase-messaging:9.8.0'
testCompile 'junit:junit:4.12'
}


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

, и если вы все еще получаете проблемы, вам нужно добавить

FirebaseApp.initializeApp(this);

перед тем, как вы вызываете

FirebaseInstanceId.getInstance().getToken();
8
ответ дан ankurdayalsingh 15 August 2018 в 20:58
поделиться

Мы должны будем инициализировать Firebase в функции onCreate класса Application.

 package com.rocks.music.videoplayer;

 import android.app.Application;
 import android.content.Context;

 import com.google.firebase.FirebaseApp;


/**
* Created by ashish123 on 22/8/15.
  */
 public class MyApplication extends Application {

private static MyApplication mInstance;

@Override
public void onCreate() {
    super.onCreate();
    mInstance = this;
    try {
        FirebaseApp.initializeApp(this);
    }
    catch (Exception e) {
    }
}

public static Context getInstance() {
    return mInstance;
}

}

Код в файле манифеста: -

  <application
    android:name="com.rocks.music.videoplayer.MyApplication"
    android:allowBackup="true"
    android:icon="@drawable/app_icon"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
0
ответ дан Ashish Saini 15 August 2018 в 20:58
поделиться

Хотя вручную инициализировать Firebase с помощью FirebaseApp.initializeApp(this);, ошибка исчезает, она не устраняет основную причину, некоторые нечетные проблемы собираются вместе, кажется, не решены, например

  • FCM требует разрешения com.google.android.c2dm.permission.RECEIVE, которое только для маркера GCM
  • становится незарегистрированным после того, как первое отправленное сообщение
  • не получено / onMessageReceived () никогда не будет вызвано,

Использовать новый плагин Gradle (например, Android-плагин 2.2.3 и Gradle 2.14.1) исправил все. (Конечно, настройка должна быть правильной согласно документации Firebase )

0
ответ дан Beeing Jk 15 August 2018 в 20:58
поделиться
  • 1
    Ого, это какая-то интересная информация. С проблемой, с которой так мало ppl, трудно сказать, видели ли мы что-либо из этого. Может быть, нам стоит попробовать удалить его снова и использовать новые версии Gradle. – Roy Solberg 16 August 2017 в 07:18

Одной из причин этого может быть забывание добавления android.permission.INTERNET разрешений в AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

-1
ответ дан bianca 15 August 2018 в 20:58
поделиться

Убедитесь, что вы добавили в свой корневой уровень build.gradle

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

. Затем на вашем уровне уровня Gradle (обычно это приложение / build.gradle) добавьте строку «применить плагин» в нижней части файла, чтобы включить плагин Gradle:

apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  compile 'com.google.firebase:firebase-core:9.6.1'
  // Getting a "Could not find" error? Make sure you have
  // the latest Google Repository in the Android SDK manager
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'

Как указано в документации . У меня было исключение, как в вопросе выше, когда забыл добавить это в мои файлы gradle.

189
ответ дан Community 15 August 2018 в 20:58
поделиться
  • 1
    Проверьте и проверьте. Просто убедитесь, что мы файлы Gradle, как описано. Я должен упомянуть, что код работает нормально для много пользователей. – Roy Solberg 17 October 2016 в 13:19
  • 2
    Возможно, вы смешиваете свои версии библиотеки. У меня была такая же проблема, когда я попытался использовать компиляцию 'com.google.firebase:firebase-core:9.8.0' , поэтому я изменил ее на compile 'com.google.firebase:firebase-core:9.6.0', чтобы соответствовать другим моим библиотекам. Оригинальный ответ Вы смешиваете версии SDK Firebase. как объяснено – crakama 22 November 2016 в 18:53
  • 3
    'apply plugin:' com.google.gms.google-services 'работал для меня. – Rockyfish 11 December 2016 в 09:15
  • 4
    Не помогло в моем случае. И проблема затрагивает крайне небольшой процент игроков. Поэтому, скорее всего, это не проблема с кодом или настройками, а с интероперабельностью с игровыми сервисами, установленными на устройствах пользователя :-( – Dmitry 6 January 2017 в 09:00
  • 5
    спасибо :) Я забыл добавить эту строку в build.gradle: применить плагин: 'com.google.gms.google-services' – Richi 9 March 2017 в 21:30

Мне не хватало следующую строку в файле app / build.gradle

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

и после очистки и повторного запуска проекта. Это исправило это для меня.

31
ответ дан Mircea Nistor 15 August 2018 в 20:58
поделиться

Вам нужно добавить зависимость buildscript Firebase Gradle в build.gradle (уровень проекта)

classpath 'com.google.gms:google-services:3.1.0'

и добавить плагин Firebase для Gradle в приложении / build.gradle

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

build.gradle will include these new dependencies:
    compile 'com.google.firebase:firebase-database:11.0.4'

Источник: Android Studio Assistant

2
ответ дан Nico T. 15 August 2018 в 20:58
поделиться

Если вы используете FirebaseUI , вам не нужно FirebaseApp.initializeApp(this); в вашем коде согласно образцу .

Не забудьте добавить в свой корень -level build.gradle:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        ...
        classpath 'com.google.gms:google-services:3.1.1'
        ...
    }
}

Затем на вашем уровне модуля Gradle file:

dependencies {

    ...

    // 1 - Required to init Firebase automatically (THE MAGIC LINE)
    implementation "com.google.firebase:firebase-core:11.6.2"

    // 2 - FirebaseUI for Firebase Auth (Or whatever you need...)
    implementation 'com.firebaseui:firebase-ui-auth:3.1.2'
    ...
}

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

Вот и все. Больше не нужно.

4
ответ дан Phil 15 August 2018 в 20:58
поделиться
0
ответ дан Ammar Bukhari 5 September 2018 в 20:25
поделиться
0
ответ дан Fahad 5 September 2018 в 20:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: