programing

Android Firebase 다이너마이트 모듈:모듈 설명자를 로드하지 못했습니다.

linuxpc 2023. 6. 30. 22:08
반응형

Android Firebase 다이너마이트 모듈:모듈 설명자를 로드하지 못했습니다.

) Firebase(9.0.0)를 통해 할 때 두 수 .signInWithEmailAndPassword()무슨 일인지 아는 사람?

    05-19 18:09:49.245 23550-23589/[PACKAGE] E/DynamiteModule: Failed to load 
    module descriptor class: Didn't find class 
    "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" 
on path: DexPathList[[zip file 
"/data/app/[PACKAGE]-3/base.apk"],nativeLibraryDirectories=
[/data/app/[PACKAGE]-3/lib/x86, /vendor/lib, /system/lib]]

그리고.

    05-19 18:09:49.252 23550-23550/[PACKAGE] E/FirebaseApp: Firebase API 
initialization failure.java.lang.reflect.InvocationTargetException

      at java.lang.reflect.Method.invoke(Native Method)
      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.zzbu(Unknown Source)
      at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
      at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)

(...)    
Caused by: java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)' was expected to be of type virtual but instead was found to be of type direct (declaration of 'com.google.firebase.iid.zzg' appears in /data/data/[PACKAGE]/files/instant-run/dex/slice-com.google.firebase-firebase-iid-9.0.0_95503dc60ed409569d1585da411de93e6c633bf7-classes.dex)
      at com.google.firebase.iid.zzg.zzeC(Unknown Source)
      at com.google.firebase.iid.zzg.<init>(Unknown Source)
      at com.google.firebase.iid.zzg.<init>(Unknown Source)
      at com.google.firebase.iid.zzd.zzb(Unknown Source)
      at com.google.firebase.iid.FirebaseInstanceId.getInstance(Unknown Source)
      at java.lang.reflect.Method.invoke(Native Method) 
      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.zzbu(Unknown Source)  
      at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1748) 
      at android.content.ContentProvider.attachInfo(ContentProvider.java:1723) 
      at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 

(...)

저도 같은 문제가 있었는데 Firebase 콘솔에서 제가 한 실수를 발견했습니다.

이 문제가 발생하는 이유 중 하나는 Firebase > Auth Dashboard 내부의 로그인 방법이 사용되지 않도록 설정되었을 수 있습니다.

방금 활성화했더니 작동하기 시작했습니다.

Google Play Services 버전을 확인할 수 있습니까?

Firebase 공식 웹사이트에서:

전제 조건

  • Google Play 서비스 9.0.0 이상을 실행하는 Android 장치
  • Android SDK Manager의 Google Play 서비스 SDK
  • Android Studio 1.5 이상
  • Android Studio 프로젝트 및 패키지 이름

Firebase 초기화 오류가 너무 간단하지 않아서 개발자들은 무엇이 잘못되었는지 추측해야 합니다.내 경우에는 다음만 가져왔습니다.

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

코어도 가져오는 것을 잊었습니다.

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

누군가에게 도움이 될지도 몰라요, 행운을 빌어요!

문제를 발견했습니다.문제는 길헤르메가 언급한 첫 번째 전제 조건이었지만 대담한 부분은 아니었습니다.종속성도 플레이 서비스 부분의 9.+를 명시적으로 명시해야 하지만 장치 자체에도 9.+가 설치되어 있어야 합니다.내 전화기의 디버깅은 잘 작동하고 에뮬레이터의 이미지를 업데이트하면 문제가 해결됩니다.

인스턴트 실행을 비활성화하는 것이 효과가 있었습니다.말도 안되는 소리로 들리네요, 알아요.저는 프로젝트를 청소해 보았습니다.앱 제거/재설치를 시도했습니다.결국 이 방법을 사용한 것은 인스턴트 실행을 비활성화하는 것이었습니다.

저는 로그아웃을 하고 로그인을 했는데, 그것이 저에게 이 문제를 해결해 주었습니다.

아마도 동기화의 일종으로 인해 FB 작업이 구현되지 않았을 것입니다.

만약 이 문제가 해결된다면 저는 그것을 가로채려고 노력할 것입니다.하지만 실제로, 이것은 파이어베이스 시스템의 버그입니다.그리고 하나 이상의 사용 사례로 인해 발생하는 버그이며, 이는 자체적으로 또 다른 문제입니다.

사용하기 전에 Google 로그인 옵션을 추가하는 동안 체크아웃할 수 있습니다.

GoogleSignInOptions gso = new GoogleSignInOptions
                    .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                    .requestEmail()
                    .build();

다음 코드에 표시된 대로 한 줄 추가

GoogleSignInOptions gso = new GoogleSignInOptions
                .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(getString(R.string.default_web_client_id))
                .requestEmail()
                .build();

이것을 추가한 후 다음과 같은 오류가 발생하면

An internal error has occured. [ Invalid Idp Response: id_token audience mismatch. ]

그런 다음 여기를 클릭하여 솔루션을 확인하십시오.

Firebase 인증만 사용하고 오류 때문에 여기에 도착한 경우:

클래스 "com.google.android.gms.dynamite.descriptors.com .google"을 찾을 수 없습니다.화력 기지auth.ModuleDescriptor"

https://console.firebase.google.com/project/ [your project]/authentication/dll로 이동하여 지원하는 인증 공급자를 활성화합니다.

저는 사용자 등록과 관련하여 비슷한 문제가 있었지만, 마침내 작동하는 해결책을 찾았습니다.

HAXM을 제거하고 다시 설치하면 문제가 해결되고 사용자가 Firebase 인증에 성공적으로 등록됩니다. :)

다른 질문에 대한 이 대답은 내 앱을 인증하게 했습니다.

알폰소 고메즈 조르다나 마나스

안녕 피에르,

새 Auth API와 함께 사용하기 전에 Firebase 콘솔에서 기존 Google OAuth 2.0 클라이언트 ID를 수동으로 화이트리스트에 추가해야 합니다.

이렇게 하려면 다음 단계를 수행합니다.

  • Google API 콘솔의 자격 증명 섹션으로 이동합니다.
  • 이전에 Google 로그인을 구성한 프로젝트를 오른쪽 위에서 선택합니다.
  • Android 또는 iOS 응용 프로그램에서 Google 로그인을 사용하는 경우 OAuth 2.0 클라이언트 ID 섹션으로 이동합니다.응용프로그램에 등록된 모든 항목에 해당하는 클라이언트 ID 문자열을 기록합니다.
  • Firebase 프로젝트의 구성에 다음 클라이언트 ID를 입력합니다.
  • https://console.firebase.google.com 의 Firebase 콘솔로 이동합니다.
  • 인증 섹션 열기

    로그인 방법에서 Google 구성을 열고 모든 클라이언트 ID를 외부 프로젝트의 클라이언트 ID 화이트리스트에 추가합니다.웹 응용 프로그램에서 Google 로그인을 사용하는 경우:웹 클라이언트 ID를 열고 클라이언트 ID와 비밀을 모두 기록하려면 클릭합니다.이 클라이언트 ID를 Firebase 프로젝트의 구성에 입력합니다.https://console.firebase.google.com 의 Firebase 콘솔로 이동합니다. Auth 섹션의 Sign-In 메소드를 열고 Google 구성을 열고 Web SDK 구성 섹션 아래에 값을 추가합니다.

이것으로 당신의 문제가 해결되는지 알려주세요.

만약 당신이 모든 것을 하지만 아무것도 얻지 못한다면 당신의 ARMEABY를 업데이트해 보세요.

Google API ARM EABI v7a 시스템 이미지

에뮬레이터에 새 고글 업데이트가 없으면 항상 인증 오류가 발생합니다.

이 게시물에 제시된 모든 작업을 수행한 후 ARM EABI 이미지를 업데이트합니다.이것으로 저의 문제가 해결되었습니다.

또한 Firebase 및 Google API에 SHA1 지문이 등록되지 않은 경우에도 발생할 수 있습니다.디버그 키 저장소와 프로덕션 키 저장소(Android Studio에서 일부 암호 키를 입력할 때 처음 프로젝트의 pack을 만들 때 생성됨)에서 두 개의 지문을 등록해야 합니다.

여기에서 SHA1을 가져오는 방법이 나와 있습니다.

또는 이 명령을 실행합니다.C:\Users\<user name>\.android디렉토리입니다.

keytool -list -v -keystore debug.keystore

내 경험 공유:저는 같은 문제에 직면했고, 구글 안드로이드 문서에 문서화된 대로 모든 것을 하고 있음에도 불구하고, 모든 곳을 검색했지만 정확한 답을 찾을 수 없었습니다.하루가 지난 후 갑자기 제 앱이 정상적으로 작동했고 동시에 구글로부터 "Google APIs Explorer가 귀하의 Google 계정에 연결되었습니다"라는 이메일을 받았습니다.그리고 구글은 우리에게 접근 권한을 부여하는 데 시간이 걸리는 것 같습니다. 이 이메일을 기다리십시오. 아마도 이 문제는 잘못된 코드와 관련이 없을 것입니다.

언급URL : https://stackoverflow.com/questions/37328890/android-firebase-dynamitemodule-failed-to-load-module-descriptor

반응형