android - 无法解析 com.google.android.gms.ads.MobileAds
问题描述
我有一个使用 AdMob 的小型 Android 应用。它已经工作了一段时间。最近,我尝试添加一些新功能,同时将所有使用的库升级到最新版本。但我对 AdMobs 有疑问。我确实放了
implementation 'com.google.android.gms:play-services-ads:15.0.1'
进入应用程序 build.gradle,
maven {
url "https://maven.google.com"
}
进入项目build.gradle,添加对manfest文件的更改(谷歌开发者网站建议的),做了几个清理/构建和无效缓存/重新启动,检查了谷歌播放服务的SDK管理器,都没有结果,AndroidStudio无法解决com.google.android.gms.ads.MobileAds 和其他 AdMobs 类。对于所有的陈述,如
import com.google.android.gms.ads.MobileAds;
AndroidStudio 标记为无法解决,例如“无法解析符号'MobileAds'”。
更令人困惑的是,应用程序可以构建和部署,Gradle 说没有错误,应用程序运行良好,并且广告按需要显示。但是,Logcat 中有一些警告,例如:
- 'W/Ads: #004 网络视图被破坏。忽略动作。',
- ...Google 移动广告 SDK 不会与 Firebase 集成(尽管我不想将它与 Firebase 集成)
等等
因此,如果不确定它是否按我预期的方式运行,我就无法发布升级后的应用程序。
我的工作环境是 Linux/Fedora27,AndroidStudio 3.1.4,作为虚拟设备我使用 Genymotion 2.12.2。
解决方案
我想我已经解决了。
不知何故,我认为这是 ItelliJ Idea 问题,所以我四处搜索,发现一些类似的主题给了我一个线索。它奏效了。
项目文件夹下方有一个隐藏文件夹,名为.idea
. 和libraries
下面的文件夹。完整的 .xml 文件 gradle 通过构建过程制作。我把它们都删除了!
重新启动 Android Studio,一切顺利。所以,去
<Project>/.idea/libraries
并删除它的所有内容。我相信一些不兼容的 gradle 版本引起了麻烦。Clean 和/或 Invalidate Cache 是不够的,因此解决方案是粗暴删除。
推荐阅读
- unity3d - Unity,在更高分辨率 (2560 x 1440) 下,测试人员无法单击屏幕上的导航元素,即使它们就位
- scikit-learn - 如何为sklearn热图混淆矩阵提供三种不同的配色方案(cmap值)
- swift - 当视图在 SwiftUI 中呈现时,视图的不同元素的不同转换
- powershell - 通过powershell登录谷歌账号
- html - 在按钮周围环绕文本
- java - 如何禁用包中的bean加载
- svn - SVN 结帐失败
- javascript - 如何检查一个数字是更小还是更大或在两个值之间?
- javascript - XMLHttpRequest 之后 $_POST 为空
- javascript - 为什么我们在 React.js 中使用“import”,而在 express 中使用“require”?