Я вижу несколько исключений с сообщением Default FirebaseApp is not initialized in this process com.armoured. Make sure to call FirebaseApp.initializeApp(Context) first.
Трассировка стека приведена ниже:
2019-03-12 20:42:33.607 11511-11511/com.armoured E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.armoured, PID: 11511
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.armoured. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@16.0.1:219)
at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source:1)
at com.armoured.fragments.LoginFragment.onCreateView(LoginFragment.java:59)
at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2439)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:802)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:620)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391)
at android.app.Activity.performStart(Activity.java:7165)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2975)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Моя проблема точно такая же, как и в вопросе это. Однако ни одно из решений в этом вопросе не сработало для меня. Я уже добавил apply plugin: 'com.google.gms.google-services' в свой файл Gradle. Я использую firebase:16.0.3 зависимости во всем своем коде.
И последняя деталь: я уже добавил FirebaseApp.initializeApp(Context) в свой фрагмент. Для полноты я добавляю функцию, в которой я получаю эту ошибку, к вопросу, чтобы вы, ребята, могли иметь контекст об ошибке.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
FirebaseApp.initializeApp(getActivity());
View view = inflater.inflate(R.layout.fragment_login, container, false);
mViewModel = ViewModelProviders.of(this).get(LoginViewModel.class);
mAuth = FirebaseAuth.getInstance();
ButterKnife.bind(this,view);
return view;
}
Обновлено: я прилагаю файл уровня градиента уровня приложения по запросу.
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.armoured"
minSdkVersion 23
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
api 'com.google.android.material:material:1.0.0-beta01'
implementation 'androidx.cardview:cardview:1.0.0'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
implementation 'com.jakewharton:butterknife:10.1.0'
implementation 'com.google.firebase:firebase-core:16.0.3'
implementation 'com.google.firebase:firebase-auth:16.0.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-beta01'
implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-beta01'
implementation 'androidx.recyclerview:recyclerview:1.0.0-beta01'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
}
Я предполагаю, что под файлом build.xml вы имеете в виду файл градиента уровня приложения?
Извините, build.gradle, тот, который вы изменили.
Я прикрепил его в своем редактировании. Я также связал вопрос, который предложил это изменение (чтобы он не был помечен как дубликат).
@RohitShinde Вы случайно не используете classpath 4.1?
Я так не думаю, но не подскажете, как проверить?
Проверьте свой корневой уровень build.gradle. Добавьте это classpath 'com.google.gms:google-services:4.2.0' в зависимости. Потому что, если вы используете 4.1, это известная проблема, которая была исправлена в 4.2.
@sunilsunny да, это решает проблему. Меняем на 4.2 с 4.1. Если вы напишете это как ответ, я приму это.
В своем вопросе вы сказали, что добавили apply plugin: 'com.google.gms.google-services' в свой build.gradle, но я его там не вижу. Он должен быть в самом низу вашего build.gradle на уровне приложения. Возможно, вы изменили файл build.gradle верхнего уровня вместо приложения. Отсутствие этой строки определенно вызовет проблему, которую вы видите.
Также больше нет необходимости использовать одну и ту же версию зависимостей Firebase. Они каждая ревизия теперь независимо друг от друга. Если вы впервые интегрируете Firebase, вам следует использовать все последние версии, как показано в файле документация по установке.
Эй, Дуг, если вы посмотрите на самый верх файла, я добавлю строку, которую вы упомянули.
И вместо этого он должен быть в самом низу, согласно той же странице связанных инструкций.
Привет, Дуг, я поставил его в самый низ, и все равно это не сработало. Комментарий Сунила выше: помог переход на версию 4.2 gradle вместо использования 4.1. Думаю, это баг версии 4.1.
Обновление classpath в корне build.gradle с 4.1 на 4.2 должно решить эту проблему, потому что в 4.1 был проблема, который был исправлен в 4.2.
Итак, ваши зависимости должны выглядеть примерно так.
dependencies {
// other classpaths
classpath 'com.google.gms:google-services:4.2.0'
}
Не могли бы вы отредактировать вопрос, чтобы показать весь файл build.xml, даже если вы считаете, что это правильно?