No se puede crear un usuario con la última versión de Firebase. Consigo un W / DynamiteModule y W / GooglePlayServicesUtil

Quiero añadir la autenticación Firebase y la mensajería en la nube Firebase a mi aplicación. Después de seguir la última guía de introducción, no puedo crear un nuevo usuario. También he considerado este ejemplo de código . He habilitado en mi consola Firebase:

  • iniciar sesión con el correo electrónico / contraseña
  • y para fines de prueba anonymus login

OTUPUT:

D/EmailPassword: onAuthStateChanged:signed_out D/EmailPassword: createAccount:mail W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. W/GooglePlayServicesUtil: Google Play services out of date. Requires 10084000 but found 9877470 

He encontrado preguntas similares, pero todas las respuestas no me ayudó en mi problema … Creo que es sólo un pequeño error tonto, pero no puedo resolver el problema.


Mi archivo gradle en el nivel de aplicación se ve así:

 apply plugin: 'com.android.application' android { compileSdkVersion 24 buildToolsVersion "24.0.3" defaultConfig { applicationId "app.radiant.c.lly" minSdkVersion 17 targetSdkVersion 24 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.android.support:appcompat-v7:24.2.1' //compile 'com.google.android.gms:play-services-appindexing:9.8.0' compile 'com.google.android.gms:play-services:10.0.0' compile 'com.android.support:design:24.2.1' testCompile 'junit:junit:4.12' compile 'com.android.support:cardview-v7:24.2.1' // Firebase Dependencies compile 'com.google.firebase:firebase-core:10.0.0' compile 'com.google.firebase:firebase-auth:10.0.0' compile 'com.google.firebase:firebase-messaging:10.0.0' } // Firebase Plugin apply plugin: 'com.google.gms.google-services' 

Mi archivo gradle en el nivel de proyecto se ve así:

 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files // Added this line for Firebase classpath 'com.google.gms:google-services:3.0.0' } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 

Tengo un DB externo donde almaceno los usuarios conectados. En Firebase sólo quiero almacenar la dirección de correo electrónico de mi base de datos con una contraseña predeterminada. Para hacer esto acabo de crear un botón que debe almacenar el usuario en Firebase cuando se presiona.

 public class InboxFragment extends Fragment { View view; Activity callingActivity; Account account; ListView chats; Button btn; ArrayList<String> exampleContent = new ArrayList<>(); ArrayAdapter<String> adapter; // Firebase instance variables private static final String TAG = "EmailPassword"; private FirebaseAuth mAuth; private FirebaseAuth.AuthStateListener mAuthListener; String username; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_inbox, container, false); callingActivity = getActivity(); account = (Account) callingActivity.getApplication(); // Firebase // [START initialize_auth] mAuth = FirebaseAuth.getInstance(); // [END initialize_auth] // [START auth_state_listener] mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user != null) { // User is signed in Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid()); } else { // User is signed out Log.d(TAG, "onAuthStateChanged:signed_out"); } // [START_EXCLUDE] //updateUI(user); // [END_EXCLUDE] } }; // [END auth_state_listener] btn = (Button) view.findViewById(R.id.addUsernameBtn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { createAccount(account.getEmail(), "empty"); } }); // Code chats = (ListView) view.findViewById(R.id.userChatList); // Add example content to array exampleContent.add("Chat 1"); exampleContent.add("Chat 2"); //exampleContent.add(username); adapter = new ArrayAdapter<String>(callingActivity, android.R.layout.simple_list_item_1, exampleContent); chats.setAdapter(adapter); chats.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent i = new Intent(getActivity(), ChatActivity.class); startActivity(i); } }); return view; } // [START on_start_add_listener] @Override public void onStart() { super.onStart(); mAuth.addAuthStateListener(mAuthListener); } // [END on_start_add_listener] // [START on_stop_remove_listener] @Override public void onStop() { super.onStop(); if (mAuthListener != null) { mAuth.removeAuthStateListener(mAuthListener); } } // [END on_stop_remove_listener] private void createAccount(String email, String password) { Log.d(TAG, "createAccount:" + email); /*if (!validateForm()) { return; }*/ //showProgressDialog(); // [START create_user_with_email] mAuth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(getActivity(), new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { Log.d(TAG, "createUserWithEmail:onComplete:" + task.isSuccessful()); // If sign in fails, display a message to the user. If sign in succeeds // the auth state listener will be notified and logic to handle the // signed in user can be handled in the listener. if (!task.isSuccessful()) { Log.e(TAG, "ERROR"); /*Toast.makeText(EmailPasswordActivity.this, R.string.auth_failed, Toast.LENGTH_SHORT).show();*/ } // [START_EXCLUDE] //hideProgressDialog(); // [END_EXCLUDE] } }); // [END create_user_with_email] } } 

Pero esto no funciona. Recibo el resultado (ver en la parte superior de la pregunta).

Este es el problema:

 W/GooglePlayServicesUtil: Google Play services out of date. Requires 10084000 but found 9877470 

Si se ejecuta en un emulador, necesitará pasar a la versión 9.8.0 o 9.6.1 de las bibliotecas de Play Services y Firebase, dependiendo del nivel de API que esté emulando. No hay ninguna imagen de emulador liberado que admita la versión 10.0.0.

Si estás ejecutando un dispositivo real, debes actualizar tu versión de Google Play Services. La versión actual es 10.0.84. Puede ver la versión instalada en su teléfono en Configuración> Administrador de aplicaciones> Servicios de Google Play.

Este mensaje de registro no es una indicación de un problema. Parece que se emite durante el funcionamiento normal:

 W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
  • Conjunto de conexiones SQLite
  • Cambiar el color de línea inferior de EditText con appcompat v7
  • Cómo implementar un FileObserver desde un servicio de Android
  • Android: Temporizador de cuenta atrás, por ejemplo, de 10:00 a 00:00? Utilizando OnclickListener a TextView?
  • Android integrando PGP en un proyecto
  • Las clases siguientes no pudieron ser instanciadas: - android.support.v7.widget.Toolbar
  • ArrayList como variable global
  • ¿Es necesario mantener las clases del mismo paquete en el mismo dex mientras se utilizan múltiples archivos dex
  • Envía una solicitud JSONArray POST con android volley library
  • Cómo conseguir que Powermock funcione con Dexmaker
  • Nombres de paquetes para dominios que terminan en .do
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.