title: Cannot create a user with latest Firebase version. I get a W/DynamiteModule and W/GooglePlayServicesUtil
body: <p>I want to add Firebase authentication and Firebase cloud messaging to my app. After following the latest <a href="https://firebase.google.com/docs/android/setup" rel="nofollow noreferrer">get started guide</a> i cannot create a new user. I also considered <a href="https://github.com/firebase/quickstart-android/blob/master/auth/app/src/main/java/com/google/firebase/quickstart/auth/EmailPasswordActivity.java" rel="nofollow noreferrer">this code example</a>. I enabled in my Firebase console:</p>
  
  <ul>
  <li>login with with <em>email/password</em></li>
  <li>and for test purposes <em>anonymus login</em></li>
  </ul>
  
  <p><strong>OTUPUT:</strong></p>
  
  <pre><code>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
  </code></pre>
  
  <p>I found similar questions but all the answers didn't helped me within my problem... I think it's just a small silly bug but I cannot resolve the problem.</p>
  
  <hr>
  
  <p>My gradle file on app level looks like this:</p>
  
  <pre><code>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'
  </code></pre>
  
  <p>My gradle file on project level looks like this:</p>
  
  <pre><code>// 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
  }
  </code></pre>
  
  <p>I have an external DB where I store the logged in users. In Firebase I only want to store the email address from my DB with a default password. To do this I just created a button that should store the user on Firebase when it's pressed.</p>
  
  <pre><code>public class InboxFragment extends Fragment {
  
      View view;
      Activity callingActivity;
      Account account;
      ListView chats;
      Button btn;
  
      ArrayList&lt;String&gt; exampleContent = new ArrayList&lt;&gt;();
      ArrayAdapter&lt;String&gt; 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&lt;String&gt;(callingActivity, android.R.layout.simple_list_item_1, exampleContent);
          chats.setAdapter(adapter);
  
          chats.setOnItemClickListener(new AdapterView.OnItemClickListener() {
              @Override
              public void onItemClick(AdapterView&lt;?&gt; 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&lt;AuthResult&gt;() {
                      @Override
                      public void onComplete(@NonNull Task&lt;AuthResult&gt; 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]
      }
  
  }
  </code></pre>
  
  <p>But this doesn't work. I get the Output (see at the top of the question).</p>