[英]Implementation 'com.google.android.gms:play-services-ads:18.1.0'
[英]Android compilation error after upgrading to 'com.google.android.gms:play-services-ads:18.1.0'
我正在将我的 play-services-ads 库从 12 版升级到 18.1 版:
dependencies {
api 'com.google.android.gms:play-services-ads:18.1.0'
}
问题是编译失败并出现此错误:
.gradle/caches/transforms-1/files-1.1/play-services-ads-identifier-17.0.0.aar/75b3c9fbdc51199269673bd2fa8b6cfe/jars/classes.jar(com/google/android/gms/ads/identifier.classAdvertising ):警告:在“GuardedBy”类型中找不到注释方法“value()”:找不到 javax.annotation.concurrent.GuardedBy 的类文件
我拿走了 AdvertisingIdClient 的所有用法,只留下了导入,但问题仍然存在:
import com.google.android.gms.ads.identifier.AdvertisingIdClient;
有什么我做错了吗?
com.google.android.gms:play-services-ads:18.1.0
取决于com.google.android.gms:play-services-ads-identifier:17.0.0
以及其他库。
您的错误表明com.google.android.gms:play-services-ads-identifier:17.0.0
引用javax.annotation.concurrent.GuardedBy
。 但是,该类不在 Android SDK 中。 com.google.android.gms:play-services-ads-identifier:17.0.0
的 POM 文件应该引用一个具有该类实现的库,但它似乎没有。
一个具有该类实现的库是com.google.code.findbugs:jsr305
。 为最新版本(例如 3.0.2)添加对com.google.code.findbugs:jsr305
的依赖为您提供了该类,使编译器满意。
因此,Play Services SDK 包装中似乎存在一个错误,我的解决方法已解决该错误。 如果未来对com.google.android.gms:play-services-ads
修复了此错误,您可能希望在模块的build.gradle
文件中添加注释以考虑删除com.google.code.findbugs:jsr305
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.