. Advertisement .
..3..
. Advertisement .
..4..
When I running my program, I get the ”w/dynamitemodule: local module descriptor class for com.google.firebase.auth not found.” error.
This is my gradle file:
compile 'com.android.support:appcompat-v7:25.3.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:10.2.1'
compile 'com.android.support:design:25.3.0'
testCompile 'junit:junit:4.12'
And the code is:
public class RegisterActivity extends AppCompatActivity {
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private EditText mUsernameField;
private EditText mPasswordField;
private EditText mConfirmPasswordField;
private Button mRegisterButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mUsernameField = (EditText) findViewById(R.id.enterUsername);
mPasswordField = (EditText) findViewById(R.id.enterPassword);
mConfirmPasswordField = (EditText) findViewById(R.id.confirmPassword);
mRegisterButton = (Button) findViewById(R.id.confirmRegistration);
mRegisterButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
createAccount(mUsernameField.getText().toString(), mPasswordField.getText().toString());
}
});
mAuth = FirebaseAuth.getInstance();
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d("account", "onAuthStateChanged:signed_in:" + user.getUid());
} else {
// User is signed out
Log.d("account", "onAuthStateChanged:signed_out");
}
// ...
}
};
}
@Override
public void onStart() {
super.onStart();
mAuth.addAuthStateListener(mAuthListener);
}
@Override
public void onStop() {
super.onStop();
if (mAuthListener != null) {
mAuth.removeAuthStateListener(mAuthListener);
}
}
private void createAccount(String email, String password) {
Log.d("account", "createAccount:" + email);
if (!validateForm()) {
return;
}
// [START create_user_with_email]
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
Log.d("account", "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()) {
Toast.makeText(RegisterActivity.this, R.string.register_failed,
Toast.LENGTH_SHORT).show();
}
else {
Intent intent = new Intent(RegisterActivity.this, MainActivity.class);
RegisterActivity.this.startActivity(intent);
finish();
}
}
});
// [END create_user_with_email]
}
private boolean validateForm() {
boolean valid = true;
String email = mUsernameField.getText().toString();
if (TextUtils.isEmpty(email)) {
mUsernameField.setError("Required.");
valid = false;
} else {
mUsernameField.setError(null);
}
String password = mPasswordField.getText().toString();
if (TextUtils.isEmpty(password)) {
mPasswordField.setError("Required.");
valid = false;
} else {
mPasswordField.setError(null);
}
String confirmPassword = mConfirmPasswordField.getText().toString();
if (TextUtils.isEmpty(confirmPassword)) {
mConfirmPasswordField.setError("Required.");
valid = false;
} else {
mConfirmPasswordField.setError(null);
}
if(!confirmPassword.equals(password)) {
mConfirmPasswordField.setError("Passwords must be the same.");
valid = false;
}
return valid;
}
And then I receive the error message:
W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
W/GooglePlayServicesUtil: Google Play Store is missing.
I/art: Background partial concurrent mark sweep GC freed 5866(313KB) AllocSpace objects, 1(14KB) LOS objects, 39% free, 2MB/4MB, paused 5.176ms total 27.761ms
D/account: createUserWithEmail:onComplete:false
I don’t have any experience about this issue. Can someone help me?
Thanks!
The cause: This error happens perhaps because the Google Play services are not updated.
Solution: There are 2 options to fix the problem:
Option 1: Check to see if you are utilizing it in the Anonymous state by going to Firebase Console < Authentication < SIGN-IN METHOD. If you are, turn that off and use your preferred login method, such as email and password.
Option 2: Verify that the testing device is using Google Play Services version 9.0.0 or later.