Android: NoSuchMethodError: No static method zzy (Ljava / lang / Object;

I am creating an application where I can access in two waves: FirebaseUI Auth and Firebase SDK Authentication (I know this is completely wrong, I only did this for some tests). Well, from the moment I add google access, I cannot access using SDK authentication, the app always crashes and I don't know why. Here is my code:

public class MainActivity extends AppCompatActivity
{
DialogProgress dialogProgress;
EditText editEmail;
EditText editPassword;
String email;
String password;
FirebaseAuth firebaseAuth;
final int REQUEST_CODE_GOOGLE = 100;
static Activity activity;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    activity = this;
    editEmail = (EditText) findViewById(R.id.editEmailA);
    editPassword = (EditText) findViewById(R.id.editPasswordA);
    firebaseAuth = FirebaseAuth.getInstance();

    if(firebaseAuth.getCurrentUser()!=null)
    {
        Toast.makeText(getApplicationContext(), "Bentornato " + firebaseAuth.getCurrentUser().getEmail().toString(), Toast.LENGTH_SHORT).show();
        Intent intent = new Intent(MainActivity.this,ProfileActivity.class);
        startActivity(intent);
        finish();
    }

    findViewById(R.id.accediButton).setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            email = editEmail.getText().toString();
            password = editPassword.getText().toString();

            if(TextUtils.isEmpty(email))
            {
                Toast.makeText(getApplicationContext(),"Email vuota",Toast.LENGTH_SHORT).show();
            }

            if(TextUtils.isEmpty(password))
            {
                Toast.makeText(getApplicationContext(),"Password vuota",Toast.LENGTH_SHORT).show();
            }

            if(!(TextUtils.isEmpty(email)||TextUtils.isEmpty(password)))
            {
                DialogProgress.setLayout(0);
                dialogProgress = new DialogProgress();
                dialogProgress.setCancelable(false);
                dialogProgress.show(getSupportFragmentManager().beginTransaction(),"Dialog");

                firebaseAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task)
                    {
                        if (task.isSuccessful())
                        {
                            dialogProgress.dismiss();
                            Toast.makeText(getApplicationContext(), "Bentornato " + firebaseAuth.getCurrentUser().getEmail().toString(), Toast.LENGTH_SHORT).show();
                            Intent intent = new Intent(MainActivity.this,ProfileActivity.class);
                            startActivity(intent);
                            finish();
                        }
                        else
                        {
                            dialogProgress.dismiss();
                            Toast.makeText(getApplicationContext(), "Login fallito " + task.getException().toString(), Toast.LENGTH_LONG).show();
                        }
                    }
                });
            }
        }
    });

    findViewById(R.id.registratiText).setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            Intent intent = new Intent(MainActivity.this,RegistrazioneActivity.class);
            startActivity(intent);
        }
    });

    findViewById(R.id.accediGoogle).setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            AuthUI authUi = AuthUI.getInstance();
            Intent intent = authUi.createSignInIntentBuilder().build();
            startActivityForResult(intent,REQUEST_CODE_GOOGLE);
        }
    });

}

@Override
public void onActivityResult(int codice, int risultato, Intent data)
{
    super.onActivityResult(codice, risultato, data);
    if(codice==REQUEST_CODE_GOOGLE && risultato==RESULT_OK && data!=null)
    {
        IdpResponse idpResponse = IdpResponse.fromResultIntent(data);
        Toast.makeText(getApplicationContext(),idpResponse + "",Toast.LENGTH_LONG).show();
    }
}
}

      

Here is my gradle project:

buildscript 
{
  repositories 
  {
    jcenter()
  }
  dependencies 
  {
    classpath 'com.android.tools.build:gradle:2.2.3'
    classpath 'com.google.gms:google-services:3.0.0'
  }
}

allprojects 
{
  repositories 
  {
    jcenter()
    maven { url 'https://maven.fabric.io/public' }
  }
}

task clean(type: Delete) 
{
delete rootProject.buildDir
}

      

Here is my gradle app:

apply plugin: 'com.android.application'

android 
{
compileSdkVersion 25
buildToolsVersion "25.0.2"
  defaultConfig 
  {
    applicationId "com.example.utente.myfirebase"
    minSdkVersion 16
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner 
    "android.support.test.runner.AndroidJUnitRunner"
  }
buildTypes 
{
  release 
  {
  minifyEnabled false
  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-
  rules.pro'
  }
}
}

dependencies 
{
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
{
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.google.firebase:firebase-auth:9.4.0'
compile 'com.google.firebase:firebase-database:9.4.0'
compile 'com.google.firebase:firebase-storage:9.4.0'
compile 'com.firebaseui:firebase-ui-auth:1.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'

}
apply plugin: 'com.google.gms.google-services'

      

Log:

04-15 21:34:06.318 26912-26912/com.example.utente.myfirebase A/FirebaseApp: Firebase API initialization failure.
                                                                        java.lang.reflect.InvocationTargetException
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at java.lang.reflect.Method.invoke(Method.java:372)
                                                                            at com.google.firebase.FirebaseApp.zza(Unknown Source)
                                                                            at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                                            at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                                            at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                                            at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                                            at android.content.ContentProvider.attachInfo(ContentProvider.java:1737)
                                                                            at android.content.ContentProvider.attachInfo(ContentProvider.java:1712)
                                                                            at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                                            at android.app.ActivityThread.installProvider(ActivityThread.java:5437)
                                                                            at android.app.ActivityThread.installContentProviders(ActivityThread.java:5032)
                                                                            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4972)
                                                                            at android.app.ActivityThread.access$1600(ActivityThread.java:177)
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1491)
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                            at android.os.Looper.loop(Looper.java:135)
                                                                            at android.app.ActivityThread.main(ActivityThread.java:5910)
                                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                                            at java.lang.reflect.Method.invoke(Method.java:372)
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
                                                                         Caused by: java.lang.NoSuchMethodError: No static method zzy(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzab; or its super classes (declaration of 'com.google.android.gms.common.internal.zzab' appears in /data/app/com.example.utente.myfirebase-2/split_lib_dependencies_apk.apk:classes33.dex)
                                                                            at com.google.android.gms.measurement.internal.zzx.zzdo(Unknown Source)
                                                                            at com.google.android.gms.measurement.AppMeasurement.getInstance(Unknown Source)
                                                                            at java.lang.reflect.Method.invoke(Native Method) 
                                                                            at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                            at com.google.firebase.FirebaseApp.zza(Unknown Source) 
                                                                            at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
                                                                            at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
                                                                            at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
                                                                            at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
                                                                            at android.content.ContentProvider.attachInfo(ContentProvider.java:1737) 
                                                                            at android.content.ContentProvider.attachInfo(ContentProvider.java:1712) 
                                                                            at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
                                                                            at android.app.ActivityThread.installProvider(ActivityThread.java:5437) 
                                                                            at android.app.ActivityThread.installContentProviders(ActivityThread.java:5032) 
                                                                            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4972) 
                                                                            at android.app.ActivityThread.access$1600(ActivityThread.java:177) 
                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1491) 
                                                                            at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                            at android.os.Looper.loop(Looper.java:135) 
                                                                            at android.app.ActivityThread.main(ActivityThread.java:5910) 
                                                                            at java.lang.reflect.Method.invoke(Native Method) 
                                                                            at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405) 
                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200) 

      

+3


source to share


4 answers


You must use compatible versions of Firebase API and Firebase UI libraries. The compatible version table is in the Firebase UI documentation . Change 9.4.0 to 10.2.0 for libraries com.google.firebase:firebase-*

.



compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.google.firebase:firebase-auth:10.2.0'
compile 'com.google.firebase:firebase-database:10.2.0'
compile 'com.google.firebase:firebase-storage:10.2.0'
compile 'com.firebaseui:firebase-ui-auth:1.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'

      

+6


source


Change this:

compile 'com.google.firebase:firebase-auth:9.4.0'
compile 'com.google.firebase:firebase-database:9.4.0'
compile 'com.google.firebase:firebase-storage:9.4.0'

      

To that:



compile 'com.google.firebase:firebase-auth:10.2.0'
compile 'com.google.firebase:firebase-database:10.2.0'
compile 'com.google.firebase:firebase-storage:10.2.0'

      

You need to update Firebase, you are using an old version. You will see that Firebase is version 10.2.1, but according to FirebaseUi

it currently supports Firebase version up to 10.2.0, so use 10.2.0.

+6


source


  • As mentioned, update all versions to the latest and all versions should be the same .
  • Clean and rebuild the project

Run the project.

0


source


Check the compatibility of the firebase version recommended for use by the latest

In my case, I forgot to add below dependencies

compile 'com.google.firebase:firebase-core:9.4.0'  

      

My whole addiction is as below

compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.4.0'
compile 'com.firebase:firebase-client-android:2.5.1' 

      

everyone uses to send push notifications to the device

0


source







All Articles