无法导入com.google.android.gms:play-services-ads:17.1.1

时间:2018-11-14 06:15:25

标签: java android admob google-play-services

apply plugin: 'com.android.application'
   android {
   compileSdkVersion 28

   defaultConfig {
      applicationId "com.kaiboon0216gmail.homeownerstarterkit"
      minSdkVersion 21
      targetSdkVersion 28
      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:28.0.0'
   implementation 'com.android.support.constraint:constraint-layout:1.1.3'
   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.android.support:cardview-v7:28.0.0'
   implementation 'com.google.android.gms:play-services-ads:17.1.1'
}

这些是我的代码。我正在使用Admob在我的应用中显示广告。当我添加以下代码时:“ 'com.google.android.gms:play-services-ads:17.1.1' “ 并同步,我的应用程序崩溃。

此后,我转到Admob官方网站,发现此版本适用于'com.android.support:appcompat-v7:26.1.0'版本。但是,当我将 compileSdkVersion 更改为26时,我的应用仍然崩溃。...

我已经测试了没有以下代码的代码:“ 'com.google.android.gms:play-services-ads:17.1.1'” 并且它可以运行。确定该代码是问题,但我不知道如何解决。

有人可以帮助解决我的问题吗? 谢谢。

3 个答案:

答案 0 :(得分:3)

因为“ com.google.android.gms:play-services-ads:17.1.1” 您需要更新一些内容。

您必须更新您的AndroidManifest.xml

<manifest>
    <application>
        <meta-data
            android:name="com.google.android.gms.ads.AD_MANAGER_APP"
            android:value="true"/>
    </application>
</manifest>

并以此:

<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="[ADMOB_APP_ID]"/>
    </application>
</manifest>

您可以检查这些链接以获取更多详细信息。

https://developers.google.com/ad-manager/mobile-ads-sdk/android/quick-start#update_your_androidmanifestxml

https://developers.google.com/admob/android/quick-start#update_your_androidmanifestxml

否则,您必须使用“ com.google.android.gms:play-services-ads:16.0.0”

答案 1 :(得分:3)

转到Admob - Select App - App Setting - App ID,从App ID复制值

现在添加此内容(更改此android:value="paste the App ID value you copy from your admob app"

<meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-111100000000~1111111"/>

meta-data放入AndroidManifest.xml文件

无需在APPLICATION_ID中的android:name="com.google.android.gms.ads.APPLICATION_ID"中添加任何内容

这可以工作!

请参阅下面的图片以获得清晰的了解

enter image description here

答案 2 :(得分:1)

使用“ com.google.android.gms:play-services-ads:16.0.0”,新的17.1.1更改了一些代码实现,即,您也需要在您的源代码中执行此操作,或回到16.0。暂时为0 ...

将在一段时间内解决您的错误...