简体   繁体   English

Android:NoSuchMethodError:没有静态方法zzy(Ljava / lang / Object;

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

I create an app in which I can access in two waves: FirebaseUI Auth and Firebase SDK Authentication (I know that's quite wrong, I made this only for some tests). 我创建了一个应用程序,我可以在其中访问两个波:FirebaseUI Auth和Firebase SDK身份验证(我知道这是非常错误的,我只在某些测试中使用它)。 Well, from when I add the google access, I can't access with SDK Authentication, the app always crashes and I don't know why. 好吧,从我添加谷歌访问权限,我无法访问SDK身份验证,应用程序总是崩溃,我不知道为什么。 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: 这是我的gradle项目:

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: 这是我的gradle应用程序:

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) 

You must use compatible versions of the Firebase API libraries and Firebase UI. 您必须使用兼容版本的Firebase API库和Firebase UI。 The table of compatible version is in the Firebase UI documentation . 兼容版本表位于Firebase UI文档中 Change 9.4.0 to 10.2.0 for the com.google.firebase:firebase-* libraries. com.google.firebase:firebase-*库的9.4.0更改为10.2.0。

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'

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 this: 对此:

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 upgrade Firebase, you are using an old version. 您需要升级Firebase,您使用的是旧版本。 You will see Firebase has version 10.2.1 available, but according to FirebaseUi it currently supports Firebase version up to 10.2.0, so use 10.2.0. 您将看到Firebase的10.2.1版本可用,但根据FirebaseUi它目前支持的Firebase版本高达10.2.0,因此请使用10.2.0。

  1. As it's mentioned here Update all the versions to the latest ones and all the versions should be the same . 正如在此处提到的那样,将所有版本更新为最新版本 ,所有版本都应该相同
  2. Clean and Rebuild your Project 清理并重建您的项目

Run the project. 运行该项目。

Check comparability version of firebase, recommanded to use latest 检查firebase的可比性版本,建议使用最新版本

In my case I have forgot to add below dependency 在我的情况下,我忘了添加以下依赖项

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

My all dependency 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' 

all use to send push notification to device 所有用于向设备发送推送通知

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Android:java.lang.NoSuchMethodError:没有静态方法zzy。 - Android: java.lang.NoSuchMethodError: No static method zzy. Android studio java.lang.NoSuchMethodError: No static 方法 encodeBase64URLSafeString([B)Ljava/lang/String; - Android studio java.lang.NoSuchMethodError: No static method encodeBase64URLSafeString([B)Ljava/lang/String; java.lang.NoSuchMethodError: android.util.ArrayMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; - java.lang.NoSuchMethodError: android.util.ArrayMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; java.lang.NoSuchMethodError:没有虚拟方法setTag(Ljava / lang / Object;) - java.lang.NoSuchMethodError: No virtual method setTag(Ljava/lang/Object;) java.lang.NoSuchMethodError 在 class Ljava.lang.Object 中没有名称='getStatusCode' signature='()I' 的非静态方法; - java.lang.NoSuchMethodError no non-static method with name='getStatusCode' signature='()I' in class Ljava.lang.Object; 此处地图:产生者:java.lang.NoSuchMethodError:没有非静态方法“ Ljava / lang / AssertionError;。 <init> (Ljava / lang / String;)V” - HERE map:Caused by: java.lang.NoSuchMethodError: no non-static method “Ljava/lang/AssertionError;.<init>(Ljava/lang/String;)V” NoSuchMethodError: 没有 static 方法 getLogger(Ljava/lang/String;)Lsun/util/logging/PlatformLogger; 在 class Lsun/util/logging/PlatformLogger - NoSuchMethodError: No static method getLogger(Ljava/lang/String;)Lsun/util/logging/PlatformLogger; in class Lsun/util/logging/PlatformLogger 没有名称=&#39;getMessage&#39;签名=&#39;()Ljava / lang / String;&#39;的静态方法 在类Ljava.lang.Object;中 - no static method with name='getMessage' signature='()Ljava/lang/String;' in class Ljava.lang.Object; java.lang.NoSuchMethodError scala.Predef $ .ArrowAssoc(Ljava / lang / Object;)Ljava / lang / Object; - java.lang.NoSuchMethodError scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object; java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object - java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM