Google Places API Cra sh Javalite cla sh с другими API Firebase - PullRequest
0 голосов
/ 14 июля 2020

Когда я оставляю API Google Places в режиме ожидания после инициализации, приложение вылетает из-за трассировки стека, как описано в конце этого описания.

Я инициализирую API Places только один раз описанным способом ниже

if(!Places.isInitialized()) {
  val apiKey = loadApiKey()
  Places.initialize(getApplication(), apiKey)
}

val client = Places.createClient(getApplication())

После запуска вышеуказанного метода и оставления его в режиме ожидания приложение вылетает со следующей трассировкой стека.

Я предполагаю, что это происходит из-за cla sh между моими javalite и библиотеки protobuf java.

    java.lang.ExceptionInInitializerError
        at com.google.android.datatransport.cct.a.zze.zzb(com.google.android.datatransport:transport-backend-cct@@2.1.0:1)
        at com.google.android.datatransport.cct.zzc.send(com.google.android.datatransport:transport-backend-cct@@2.1.0:9)
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader.logAndUpdateState(com.google.android.datatransport:transport-runtime@@2.1.0:121)
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader.lambda$upload$1(com.google.android.datatransport:transport-runtime@@2.1.0:88)
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$Lambda$1.run(Unknown Source:8)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
     Caused by: java.lang.RuntimeException: Unable to get message info for com.google.android.datatransport.cct.a.zze
        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:175)
        at com.google.android.datatransport.cct.a.zze.<clinit>(com.google.android.datatransport:transport-backend-cct@@2.1.0:2)
        at com.google.android.datatransport.cct.a.zze.zzb(com.google.android.datatransport:transport-backend-cct@@2.1.0:1) 
        at com.google.android.datatransport.cct.zzc.send(com.google.android.datatransport:transport-backend-cct@@2.1.0:9) 
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader.logAndUpdateState(com.google.android.datatransport:transport-runtime@@2.1.0:121) 
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader.lambda$upload$1(com.google.android.datatransport:transport-runtime@@2.1.0:88) 
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$Lambda$1.run(Unknown Source:8) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:919) 
     Caused by: java.lang.UnsupportedOperationException
        at com.google.android.datatransport.cct.a.zze.dynamicMethod(com.google.android.datatransport:transport-backend-cct@@2.1.0:2)
        at com.google.protobuf.GeneratedMessageLite.dynamicMethod(GeneratedMessageLite.java:256)
        at com.google.protobuf.GeneratedMessageLite.buildMessageInfo(GeneratedMessageLite.java:284)
        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:175) 
        at com.google.android.datatransport.cct.a.zze.<clinit>(com.google.android.datatransport:transport-backend-cct@@2.1.0:2) 
        at com.google.android.datatransport.cct.a.zze.zzb(com.google.android.datatransport:transport-backend-cct@@2.1.0:1) 
        at com.google.android.datatransport.cct.zzc.send(com.google.android.datatransport:transport-backend-cct@@2.1.0:9) 
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader.logAndUpdateState(com.google.android.datatransport:transport-runtime@@2.1.0:121) 
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader.lambda$upload$1(com.google.android.datatransport:transport-runtime@@2.1.0:88) 
        at com.google.android.datatransport.runtime.scheduling.jobscheduling.Uploader$$Lambda$1.run(Unknown Source:8) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:919) 

Может быть проблема, связанная с конфликтом интеграции протобуфера библиотеки с той, которую я использую в своем приложении.

1 Ответ

1 голос
/ 17 июля 2020

В соответствии с этим трекером проблем, который я создал и упомянул в комментариях. https://issuetracker.google.com/issues/161157921.

На данный момент просто добавьте следующее, чтобы обновить внутренние зависимости Places в библиотеках Protobufer, пока они sh не получат версию Places> 2.3.0

    implementation 'com.google.android.datatransport:transport-runtime:2.2.3'
    implementation 'com.google.android.datatransport:transport-backend-cct:2.3.0'
...