Использование Firestore вызывает «Нет статического метода checkArgument» - PullRequest
0 голосов
/ 06 июля 2019

Кажется, что все связанные посты указывают на несоответствие версий между Firebase и Playservices, но я не нашел ни одной версии.Firestore.Я попробовал все виды перестановок, но не нашел решения.Вот мой gradle:

dependencies {

    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

    implementation 'com.google.android.material:material:1.0.0'

    //----------------------------------------------------------------------------------------------
    //---   FireBase
    //----------------------------------------------------------------------------------------------

    // Firebase DataBase
//    implementation 'com.google.firebase:firebase-database:18.0.0'
//    implementation 'com.google.firebase:firebase-auth:18.0.0'

    // Firebase Firestore
    // Need to exclude 'guava' to avoid dreaded 'Duplicate class' Errors during compile
    implementation ('com.google.firebase:firebase-firestore:20.1.0')
    {
        exclude group: 'com.google.guava'
    }

    //----------------------------------------------------------------------------------------------
    //---   Google Oauth and Google Sheets
    //----------------------------------------------------------------------------------------------

    implementation 'com.google.android.gms:play-services-auth:17.0.0'

    implementation 'pub.devrel:easypermissions:0.2.1'

    implementation('com.google.api-client:google-api-client-android:1.22.0') {
        exclude group: 'org.apache.httpcomponents'
    }

    implementation('com.google.apis:google-api-services-sheets:v4-rev465-1.22.0') {
        exclude group: 'org.apache.httpcomponents'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/<YOUR DIRECTORY>'
    }


}

Я попытался выровнять его с playservices т.е.17.0.0, также пробовал версии 18.x безрезультатно.Забавно, что это работало, когда я использовал базу данных Firebase Realtime, поэтому никакой несовместимости там нет.Но я хочу переключиться на Firestore, чтобы воспользоваться преимуществами лучшей обработки ArrayList в классах, которые я хочу писать / читать.

Я также должен был исключить группу guava, иначе я бы получил эти «Дублированный класс»ошибки (опять же, только с Firestone, а не с базой данных).

Вот полный logcat:

2019-07-06 12:12:48.397 1671-1684/? E/memtrack: Couldn't load memtrack module
2019-07-06 12:12:48.541 7857-7857/com.mairyu.app.lingoflash E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.mairyu.app.lingoflash, PID: 7857
    java.lang.RuntimeException: Internal error in Firestore (0.6.6-dev).
        at com.google.firebase.firestore.util.AsyncQueue.lambda$panic$5(com.google.firebase:firebase-firestore@@18.0.0:379)
        at com.google.firebase.firestore.util.AsyncQueue$$Lambda$5.run(Unknown Source:2)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.NoSuchMethodError: No static method checkArgument(ZLjava/lang/String;I)V in class Lcom/google/common/base/Preconditions; or its super classes (declaration of 'com.google.common.base.Preconditions' appears in /data/app/com.mairyu.app.lingoflash-_VKmE7anO3pKy3BbdIRr4w==/base.apk)
        at com.google.firebase.Timestamp.validateRange(com.google.firebase:firebase-firestore@@18.0.0:160)
        at com.google.firebase.Timestamp.<init>(com.google.firebase:firebase-firestore@@18.0.0:65)
        at com.google.firebase.firestore.model.SnapshotVersion.<clinit>(com.google.firebase:firebase-firestore@@18.0.0:26)
        at com.google.firebase.firestore.local.SQLiteQueryCache.<init>(com.google.firebase:firebase-firestore@@18.0.0:40)
        at com.google.firebase.firestore.local.SQLitePersistence.<init>(com.google.firebase:firebase-firestore@@18.0.0:111)
        at com.google.firebase.firestore.core.FirestoreClient.initialize(com.google.firebase:firebase-firestore@@18.0.0:226)
        at com.google.firebase.firestore.core.FirestoreClient.lambda$new$2(com.google.firebase:firebase-firestore@@18.0.0:114)
        at com.google.firebase.firestore.core.FirestoreClient$$Lambda$2.run(Unknown Source:8)
        at com.google.firebase.firestore.util.AsyncQueue.lambda$enqueue$4(com.google.firebase:firebase-firestore@@18.0.0:311)
        at com.google.firebase.firestore.util.AsyncQueue$$Lambda$4.call(Unknown Source:2)
        at com.google.firebase.firestore.util.AsyncQueue.lambda$enqueue$3(com.google.firebase:firebase-firestore@@18.0.0:287)
        at com.google.firebase.firestore.util.AsyncQueue$$Lambda$3.run(Unknown Source:4)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at com.google.firebase.firestore.util.AsyncQueue$DelayedStartFactory.run(com.google.firebase:firebase-firestore@@18.0.0:205)
        at java.lang.Thread.run(Thread.java:764)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...