Android Admob:无法导入一些 类

Android Admob: Cannot import some classes

我已经在几个项目中使用过Admob,但是这次遇到了一个奇怪的问题。

我按照官方纪录片(here)的所有说明操作,一切基本正常,至少测试广告是这样。


但我遇到了问题,有些 class 无法导入。

例如,当我从文档中获取这段代码时:

MobileAds.initialize(act, new OnInitializationCompleteListener() {
                        @Override
                        public void onInitializationComplete(InitializationStatus initializationStatus) {
                        }
                    });

我的项目找不到 OnInitializationCompleteListener,也找不到 initializationStatus。在我的旧项目中,这从来都不是这样。 MobileAds虽然可以完美导入。 (我所做的只是省略了不工作的部分:MobileAds.initialize(act);

其他一些 class 也有同样的问题,例如LoadAdErrorAdErrorResponseInfo。 只是无法导入。

Android Studio 不会向 classes 提供任何可以导入的名称的提示,当我添加 import XXX 并从官方文档中获取 XXX 作为完整 class 名称(带包),找不到。


这很奇怪,因为首先,这在我的项目中从未发生过,其次,因为只有一些导入无法找到。


我的应用构建 GRADLE

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 29
    buildToolsVersion "30.0.0"

    defaultConfig {
        applicationId "..."
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            // proguard stuff

        }
    }

    buildFeatures {
        viewBinding true
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
    implementation 'com.google.android.material:material:1.2.1'

    // Firebase Stuff
    ...

    // ads
    implementation 'com.google.android.gms:play-services-ads:17.1.0'

实际上,您必须添加对 build.gradle 的依赖。我在下面写了依赖

implementation 'com.google.android.gms:play-services-ads:20.1.0'