XIC 坚持到了最后一刻,Play 商店来了最后通牒,必须把 target 从 33 升级到 34 了。提升之后,一大堆的依赖库也同时摆脱了 target 33 的桎梏,也都进行了版本升级。最后,IDE 又提示说 gradle 最好也升一下,因为 8.0 的已经放弃对高版本 target 的兼容测试了,所以也升到了 8.5。就这样依赖,构建时报出了这样的错误信息(事后总结,此信息为大概模样,其中的行列数并不准确):
Attribute property#android.adservices.AD_SERVICES_CONFIG@resource value=(@xml/ga_ad_services_config) from [com.google.android.gms:play-services-measurement-api:22.0.2] AndroidManifest.xml:32:13-58
is also present at [com.google.android.gms:play-services-ads-lite:23.2.0] AndroidManifest.xml:92:13-59 value=(@xml/gma_ad_services_config).
Suggestion: add ‘tools:replace=”android:resource”‘ to <property> element at AndroidManifest.xml to override.
因为 app 自身的 manifest 文件中并没有这个资源,所以看着提示一头雾水,那个 property
元素也不知道怎么写。搜索查阅之后才知道要这样写:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<manifest ... <application ... <property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/gma_ad_services_config" tools:replace="android:resource" /> ... </application> ... </manifest> |
依葫芦画瓢,搞定。