Firebase Performance 서비스 추가 Gradle 설정 과정 참고(전이의존성 해결)
2024. 3. 12. 00:08ㆍAndroid/Gradle
반응형
- Firebase perf 추가 시 Auth어쩌구 에러 → Firebase BoM 사양에 맞춰 버전 업그레이드
- iid랑 messaging 서비슨가 여튼 충돌 → force 구문 주석 처리했다가 버전 업그레이드
- AbstractMethodException com.google.android.gms.common.Api$Client → Build.app에 있는 force 구문 google 관련 3개 버전 변경(최신으로)
- protobuf-lite protobuf-javalite duplicate exception → build.gradle에 configurations{ all*.exclude module:’protobuf-lite’} 추가
Process: kr.co.zumo.app.dev, PID: 3735
java.lang.ExceptionInInitializerError
at com.google.crypto.tink.proto.AesSivKeyFormat.newBuilder(AesSivKeyFormat.java:133)
at com.google.crypto.tink.daead.DeterministicAeadKeyTemplates.createAesSivKeyTemplate(DeterministicAeadKeyTemplates.java:45)
at com.google.crypto.tink.daead.DeterministicAeadKeyTemplates.<clinit>(DeterministicAeadKeyTemplates.java:38)
at androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme.<clinit>(EncryptedSharedPreferences.java:148)
at kr.co.zumo.app.LifePlus.setEncKey(LifePlus.java:131)
at kr.co.zumo.app.old.activity.IntroActivity$3.onSuccess(IntroActivity.java:210)
at kr.co.zumo.app.old.activity.IntroActivity$3.onSuccess(IntroActivity.java:207)
at kr.co.zumo.app.network.model.common.RetrofitCalback.onResponse(RetrofitCalback.java:59)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$1.run(DefaultCallAdapterFactory.java:83)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8125)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
Caused by: java.lang.RuntimeException: Unable to get message info for com.google.crypto.tink.proto.AesSivKeyFormat
at com.google.protobuf.GeneratedMessageInfoFactory.messageInfoFor(GeneratedMessageInfoFactory.java:62)
at com.google.protobuf.ManifestSchemaFactory$CompositeMessageInfoFactory.messageInfoFor(ManifestSchemaFactory.java:143)
at com.google.protobuf.ManifestSchemaFactory.createSchema(ManifestSchemaFactory.java:55)
at com.google.protobuf.Protobuf.schemaFor(Protobuf.java:93)
at com.google.protobuf.Protobuf.schemaFor(Protobuf.java:107)
at com.google.protobuf.GeneratedMessageLite.makeImmutable(GeneratedMessageLite.java:171)
at com.google.crypto.tink.proto.AesSivKeyFormat.<clinit>(AesSivKeyFormat.java:274)
at com.google.crypto.tink.proto.AesSivKeyFormat.newBuilder(AesSivKeyFormat.java:133)
at com.google.crypto.tink.daead.DeterministicAeadKeyTemplates.createAesSivKeyTemplate(DeterministicAeadKeyTemplates.java:45)
at com.google.crypto.tink.daead.DeterministicAeadKeyTemplates.<clinit>(DeterministicAeadKeyTemplates.java:38)
at androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme.<clinit>(EncryptedSharedPreferences.java:148)
at kr.co.zumo.app.LifePlus.setEncKey(LifePlus.java:131)
at kr.co.zumo.app.old.activity.IntroActivity$3.onSuccess(IntroActivity.java:210)
at kr.co.zumo.app.old.activity.IntroActivity$3.onSuccess(IntroActivity.java:207)
at kr.co.zumo.app.network.model.common.RetrofitCalback.onResponse(RetrofitCalback.java:59)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$1.run(DefaultCallAdapterFactory.java:83)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8125)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
Caused by: java.lang.UnsupportedOperationException
at com.google.crypto.tink.proto.AesSivKeyFormat.dynamicMethod(AesSivKeyFormat.java:266)
at com.google.protobuf.GeneratedMessageLite.dynamicMethod(GeneratedMessageLite.java:252)
at com.google.protobuf.GeneratedMessageLite.buildMessageInfo(GeneratedMessageLite.java:280)
at com.google.protobuf.GeneratedMessageInfoFactory.messageInfoFor(GeneratedMessageInfoFactory.java:60)
at com.google.protobuf.ManifestSchemaFactory$CompositeMessageInfoFactory.messageInfoFor(ManifestSchemaFactory.java:143)
at com.google.protobuf.ManifestSchemaFactory.createSchema(ManifestSchemaFactory.java:55)
at com.google.protobuf.Protobuf.schemaFor(Protobuf.java:93)
at com.google.protobuf.Protobuf.schemaFor(Protobuf.java:107)
at com.google.protobuf.GeneratedMessageLite.makeImmutable(GeneratedMessageLite.java:171)
at com.google.crypto.tink.proto.AesSivKeyFormat.<clinit>(AesSivKeyFormat.java:274)
at com.google.crypto.tink.proto.AesSivKeyFormat.newBuilder(AesSivKeyFormat.java:133)
at com.google.crypto.tink.daead.DeterministicAeadKeyTemplates.createAesSivKeyTemplate(DeterministicAeadKeyTemplates.java:45)
at com.google.crypto.tink.daead.DeterministicAeadKeyTemplates.<clinit>(DeterministicAeadKeyTemplates.java:38)
at androidx.security.crypto.EncryptedSharedPreferences$PrefKeyEncryptionScheme.<clinit>(EncryptedSharedPreferences.java:148)
at kr.co.zumo.app.LifePlus.setEncKey(LifePlus.java:131)
at kr.co.zumo.app.old.activity.IntroActivity$3.onSuccess(IntroActivity.java:210)
at kr.co.zumo.app.old.activity.IntroActivity$3.onSuccess(IntroActivity.java:207)
at kr.co.zumo.app.network.model.common.RetrofitCalback.onResponse(RetrofitCalback.java:59)
at retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall$1$1.run(DefaultCallAdapterFactory.java:83)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:8125)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
→ build.gradle에 configurations{ all*.exclude module:’protobuf-javalite’} 변경
→ 해결(완벽한 상태는 아니지만..)
+ 과장님의 추가적인 업무(javalite 사용 권장에 따라 종속성 파악해 재해결해보라)
- External Library 클래스 확인 : Project창에서 Project로 단위를 바꾸고(App으로 되어있다면..) 에러 로그에 있는 .java 클래스가 있는지 확인
- Gradle dependency 확인 : Gradle창에서 AppName > Tasks > android를 펼치고 androidDependencies를 더블클릭해 의존성 확인 → androidx.security에만 protobuf-lite 쓰이길래 아래 내용 추가
- Androidx.security rc01인가 해당 lite buf를 사용하지 않는 버전이 있어 해당 버전으로 변경
implementations (Android.security~){
Transitive = true
// 종속된 모듈 배제가 맞음(javalite 배제가 아니라)
Exclude group : ‘com.google.protobuf’, module:’protobuf-lite’
}
반응형
'Android > Gradle' 카테고리의 다른 글
Gradle 파일(settings.gradle / build.gradle) 및 사용법 알아보기 (0) | 2024.03.16 |
---|---|
Gradle 개념 / 특징 및 Gradlew / 사용법 알아보기 (1) | 2024.03.15 |
Submodule Proguard 적용 (0) | 2023.10.19 |
Build 구성 (0) | 2021.04.23 |
SdkVersion 관계 (0) | 2021.04.23 |