繁体   English   中英

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

[英]Cannot import com.google.android.gms:play-services-ads:17.1.1

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'”并且它可以运行。我确定这个代码是问题,但我不知道如何纠正它。

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

转到Admob - Select App - App Setting - App IDApp 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-dataAndroidManifest.xml文件

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

这会奏效!

看下图清晰了解

在此处输入图片说明

因为使用 "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”

使用“com.google.android.gms:play-services-ads:16.0.0”,新的17.1.1更改了一些代码实现,即你也需要在你的源代码中这样做,或者暂时回到16.0.0 ...

将修复您的错误一段时间...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM