Как решить Невозможно найти явную активность в firebase AuthUi?

При работе с пользовательским интерфейсом firebase я получаю Невозможно найти явный класс активности com.firebase.ui.auth.KickoffActivity

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FirebaseApp.initializeApp(this); setContentView(R.layout.activity_main); FirebaseApp.initializeApp(this); mAuth=FirebaseAuth.getInstance(); mAuthListner=new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user=firebaseAuth.getCurrentUser(); if(user!=null){ Toast.makeText(getApplicationContext(),"Sign in success",Toast.LENGTH_SHORT).show(); } else { startActivityForResult(AuthUI.getInstance() .createSignInIntentBuilder() .setIsSmartLockEnabled(false) .setProviders(AuthUI.EMAIL_PROVIDER,AuthUI.GOOGLE_PROVIDER).build(), RC_SIGN_IN); } } }; } 

Полное сообщение об ошибке

 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.flamanco.trackme/com.firebase.ui.auth.KickoffActivity}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult 

Добавлены зависимости от файла app / .gradle

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.google.firebase:firebase-core:10.0.1' compile 'com.google.firebase:firebase-auth:10.0.1' compile 'com.firebaseui:firebase-ui-auth:1.1.1' } apply plugin: 'com.google.gms.google-services' 

Также добавлен плагин в градиенте построения

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

Наконец, я добавил отпечаток SHA1 в моем проекте консоли firebase.

Нужно ли добавлять операцию auth.kickOff в файл манифеста

Solutions Collecting From Web of "Как решить Невозможно найти явную активность в firebase AuthUi?"

Android.content.ActivityNotFoundException: невозможно найти явный класс активности {com.example.flamanco.trackme / com.firebase.ui.auth.KickoffActivity}; Объявили ли вы эту активность в своем AndroidManifest.xml? At android.app.Instrumentation.checkStartActivityResult

Вы должны объявить активность в AndroidManifest.xml

Откройте файл манифеста и добавьте KicoffActivity.

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto"> <activity android:name="KickoffActivity"/> </manifest> 

Кроме того, я не уверен, что у вас есть начальная FirebaseApp дважды здесь.

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FirebaseApp.initializeApp(this); setContentView(R.layout.activity_main); FirebaseApp.initializeApp(this); } 

Обычно он должен быть инициализирован только один раз в классе приложения, в методе onCreate ().

Создайте новый класс приложения.

 public class YourApplicationClass extends Application { @Override public void onCreate() { super.onCreate(); FirebaseApp.initializeApp(this); } } 

И добавьте то же самое в манифест,

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto"> <application android:name="YourApplicationClass" android:allowBackup="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:supportsRtl="true" android:theme="@style/MyMaterialTheme.Base"> <activity android:name="KickoffActivity"/> </application> </manifest> 

Убедитесь, что вы правильно указали свой KickoffActivity в AndroidManifest.xml как

  <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="xxx.xxx.xxx"> <application android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".KickoffActivity"> </activity> </application> </manifest> 

Особенно проверьте атрибут name, если у вас есть активность в пакете, скажите «тест», тогда вам придется изменить атрибут имени как

 <activity android:name=".test.KickoffActivity"> </activity> 

Если все в порядке с AndroidManifest.xml , я бы предложил обновить ваши библиотеки, как упомянуто deividas .

Вы можете отметить заметки о выпуске FirebaseUI здесь https://github.com/firebase/FirebaseUI-Android/releases

Также обновите другие библиотеки firebase для

  compile 'com.google.firebase:firebase-core:11.0.4' compile 'com.google.firebase:firebase-auth:11.0.4' 

Наконец, я полностью переустановил студию Android до последней версии, обновил все, включая

  • Служба Google Play
  • Библиотеки firebase
  • Версия градиента
  • Google repositoris

И я начал новый проект с начала и работал без ошибок. Есть много действий, которые автоматически добавляются при добавлении зависимостей AUTHUI. Эти действия включают в себя kickoffactivity, recoverpasswordactivity, registerEmailActivity и т. Д. Я могу проверить, если, перейдя по пути

 /project/module/build/intermediates/manifests/full/debug/And‌​roidManifest.xml. 

Ранее у меня нет kickoffactivity в этом файле манифеста, я не знаю причины, но теперь у меня есть. Я не думаю, что добавление его вручную в файл манифеста приложения будет работать.