java - ClassNotFoundException 没有找到类“com.google.android.gms.common.internal.zzbq

标签 java android firebase android-gradle-plugin firebase-storage

我必须将文件存储在 Firebase 存储中。

我的 Gradle 文件:

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.deadbrains.propertymanagement"
        minSdkVersion 18
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.volley:volley:1.1.0'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.github.jineshfrancs:CaptchaImageView:1.0'
    implementation 'com.google.code.gson:gson:2.8.1'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.google.firebase:firebase-storage:11.8.0'
    implementation 'com.google.firebase:firebase-firestore:11.8.0'
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-messaging:18.0.0'
    implementation 'com.google.firebase:firebase-auth:17.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') {
        transitive = true;
    }
}
apply plugin: 'com.google.gms.google-services' 

这是我的 build.gradle(项目:appname):

buildscript {

    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:4.0.2'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}     

当我上传文件时发生错误。 这是我上传文件的代码

private void uploadFile() {
        if (filePath != null) {
            pDialog = ProgressDialog.show( AddNoticeActivity.this ,"" ,"Wait..." ,false ,false );

            StorageReference riversRef = null;
            if (extension.equals( "docx" ) || extension.equals( "doc" )) {
                Random Number = new Random();
                int Rnumber = Number.nextInt( 100000 );
                String name = "doc" + Rnumber;
                riversRef = FirebaseStorage.getInstance().getReference().child( "Notice/" + name );
            } else if (extension.equals( "pdf" )) {
                Random Number = new Random();
                int Rnumber = Number.nextInt( 100000 );
                String name = "pdf" + Rnumber;
                riversRef = FirebaseStorage.getInstance().getReference().child( "Notice/" + name );
            } else {
                Random Number = new Random();
                int Rnumber = Number.nextInt( 100000 );
                String name = "pic" + Rnumber;
                riversRef = FirebaseStorage.getInstance().getReference().child( "Notice/" + name );
            }
            strAttachment = riversRef.getPath();
            Log.d( "storage path : " ,strAttachment );

            riversRef.putFile( filePath )
                    .addOnSuccessListener( new OnSuccessListener <UploadTask.TaskSnapshot>() {
                        @Override
                        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                            callAddNoticeService();
                        }
                    } )
                    .addOnFailureListener( new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception exception) {
                            Log.d( "Error" ,exception.getMessage() );
                            Toast.makeText( getApplicationContext() ,exception.getMessage() ,Toast.LENGTH_LONG ).show();
                        }
                    } )
                    .addOnProgressListener( new OnProgressListener <UploadTask.TaskSnapshot>() {
                        @Override
                        public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {

                        }
                    } );
        }
    }

显示行错误

     riversRef = FirebaseStorage.getInstance().getReference().child( "Notice/" + name );

错误是

Fatal Exception: java.lang.NoClassDefFoundError Failed resolution of: Lcom/google/android/gms/common/internal/zzbq;

当我升级依赖项并显示错误时:

error: resource android:attr/fontVariationSettings not found. Message{kind=ERROR, text=error: resource android:attr/fontVariationSettings not found.

error: resource android:attr/ttcIndex not found. Message{kind=ERROR, text=error: resource android:attr/ttcIndex not found.

最佳答案

升级以下依赖项:

 implementation 'com.google.firebase:firebase-storage:11.8.0'
 implementation 'com.google.firebase:firebase-firestore:11.8.0'
 implementation 'com.google.firebase:firebase-core:16.0.9'
 implementation 'com.google.firebase:firebase-messaging:18.0.0'
 implementation 'com.google.firebase:firebase-auth:17.0.0'

进入这个:

 implementation 'com.google.firebase:firebase-storage:19.0.0'
 implementation 'com.google.firebase:firebase-firestore:21.0.0'
 implementation 'com.google.firebase:firebase-core:17.2.0'
 implementation 'com.google.firebase:firebase-messaging:20.0.0'
 implementation 'com.google.firebase:firebase-auth:19.0.0'

在以下链接中查看最新版本:

https://firebase.google.com/support/release-notes/android

更新依赖项后,您需要迁移 androidx,您可以在以下链接中找到操作方法:

https://stackoverflow.com/a/57005161/7015400

关于java - ClassNotFoundException 没有找到类“com.google.android.gms.common.internal.zzbq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57805214/

相关文章:

firebase - Cloud Firestore 是否有审计跟踪?

node.js - 如何阅读使用 Node 在Firestore中创建的最新文档?

java - test.timeoutSecs 属性令人困惑并且没有给出一致的结果

android - 从 AsyncTask 返回数据导致空指针错误

java - 带类映射器 : No setter/field for class

android - 弹出窗口有问题

java - ListActivity 是否扩展了 Activity?

java - 将 Char 读入数组

java - 递增 1 并将其添加到每个创建的对象中?

java - 替代创建 String 对象的新方法?