【问题标题】:Cannot import com.google.android.gms:play-services-ads:17.1.1无法导入 com.google.android.gms:play-services-ads:17.1.1
【发布时间】:2019-04-17 01:30:34
【问题描述】:
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'” 并且它可以运行。我确定这个代码是问题,但我不知道如何纠正它。

谁能帮助解决我的问题? 谢谢。

【问题讨论】:

  • 只使用 15.0.1 代替。
  • 添加您的 logcat 跟踪
  • 如果应用崩溃了,没有 logcat 我们真的无能为力
  • 如何添加logcat trace?

标签: java android admob google-play-services


【解决方案1】:

转到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" 的内容

这行得通!

看下图就清楚了

【讨论】:

    【解决方案2】:

    因为“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”

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-15
        • 2021-01-10
        • 1970-01-01
        • 2019-04-15
        • 2018-06-29
        • 2017-10-01
        • 1970-01-01
        • 2018-11-23
        相关资源
        最近更新 更多