【问题标题】:Could not find class 'com.google.android.gms.ads.AdView找不到类 'com.google.android.gms.ads.AdView
【发布时间】:2022-03-09 03:05:50
【问题描述】:

我正在使用 Android Studio。我已将 googleAdMobAdsdk6-4-1.jar 添加到我之前添加的 libs 文件夹中的项目中。我可以展开库文件并实际导航到 AdView 类。它编译没有问题,但是当我运行它时它崩溃了。任何帮助表示赞赏。

12-15 21:35:40.581    5375-5375/? E/dalvikvm﹕ Could not find class 'com.google.android.gms.ads.AdView', referenced from method net.kritico.todolist.ToDoListActivity.onCreate
12-15 21:35:40.581    5375-5375/? W/dalvikvm﹕ VFY: unable to resolve new-instance 996 (Lcom/google/android/gms/ads/AdView;) in Lnet/kritico/todolist/ToDoListActivity;
12-15 21:35:40.581    5375-5375/? D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0037
12-15 21:35:40.585    5375-5375/? D/dalvikvm﹕ DexOpt: unable to opt direct call 0x2034 at 0x39 in Lnet/kritico/todolist/ToDoListActivity;.onCreate
12-15 21:35:40.585    5375-5375/? I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x0b0b at 0x47 in Lnet/kritico/todolist/ToDoListActivity;.onCreate
12-15 21:35:40.585    5375-5375/? D/dalvikvm﹕ DexOpt: unable to opt direct call 0x2031 at 0x5c in Lnet/kritico/todolist/ToDoListActivity;.onCreate
12-15 21:35:40.597    5375-5375/? I/dalvikvm﹕ DexOpt: unable to optimize static field ref 0x0b0a at 0x5f in Lnet/kritico/todolist/ToDoListActivity;.onCreate
12-15 21:35:40.765    5375-5375/? D/AndroidRuntime﹕ Shutting down VM
12-15 21:35:40.765    5375-5375/? W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xa617b908)
12-15 21:35:40.789    5375-5375/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{net.kritico.todolist/net.kritico.todolist.ToDoListActivity}: android.view.InflateException: Binary XML file line #19: Error inflating class fragment
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
            at android.app.ActivityThread.access$600(ActivityThread.java:141)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
            at android.os.Handler.dispatchMessage(Handler.java:99)

【问题讨论】:

  • 我不知道它在 Android Studio 中是怎样的,但是在 Eclipse 中你应该点击右键项目 -> 属性 -> Android 并在底部添加库。也许在 Android Studio 中是类似的
  • Admob 现已集成到 Play 服务中。您应该在未来的新项目中使用它。 developers.google.com/mobile-ads-sdk/docs/admob/play-migration

标签: android admob


【解决方案1】:

您的 XML 引用了 com.google.android.gms.ads.AdView(请参阅 stacktrace),它包含在 Google Play 服务库中,并且是 Admob 现在的打包方式。

但是您已经包含了 Admob-6.4.1,它是旧的 Admob SDK,并且其中的 Admob 类位于不同的包中,并且签名略有不同。

从您的项目中删除 Admob-6.4.1 并改用 Google Play 服务。

https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#play

【讨论】:

  • 如何在android studio中添加资源?
  • William 我已经尝试过了,但是我的项目结构对话框没有“导入模块”菜单选项。它只有“+”号,打开一个新模块对话框。我使用的是安卓 0.3.7。
  • 抱歉,链接不好。您想将 Play Services 库添加为模块的依赖项。请参阅jetbrains.com/idea/webhelp/… 的“将现有库添加到模块依赖项”部分
【解决方案2】:

从您的 libs 文件夹中删除 jar(该 sdk 现在已弃用)。您应该使用 Google play 服务。

取出罐子后。清理您的项目并在您的应用级别 build.gradledependencies 下添加以下内容。

compile 'com.google.android.gms:play-services-ads:8.4.0'

按照提示同步您的项目,然后您就可以开始了。

【讨论】:

    【解决方案3】:

    使用这个最新的库:

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

    欢迎阅读admob documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-24
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多