なえ箱

メモを植えます

Error: Attribute property#android.adservices.AD_SERVICES_CONFIG@resource ... の解決方法

この記事をシェアする

Unityを2022.3.62f1から6000.0.63f1へアップデートし、Androidビルドしようとしたら以下のようなGradleエラーが。

path/to/project/Library/Bee/Android/Prj/IL2CPP/Gradle/launcher/src/main/AndroidManifest.xml:92:13-59 Error:
    Attribute property#android.adservices.AD_SERVICES_CONFIG@resource value=(@xml/gma_ad_services_config) from [com.google.android.gms:play-services-ads-lite:22.6.0] AndroidManifest.xml:92:13-59
    is also present at [com.google.android.gms:play-services-measurement-api:21.5.0] AndroidManifest.xml:32:13-58 value=(@xml/ga_ad_services_config).
    Suggestion: add 'tools:replace="android:resource"' to <property> element at AndroidManifest.xml to override.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':launcher:processReleaseMainManifest'.
> Manifest merger failed with multiple errors, see logs

Attribute

使用中のパッケージはAdmobが8.7.0。Firebaseも使っています。

急ぎビルドだけしてしまう必要があったので対処してみる。

解決方法

<application>内に下記の<property> の記載を追加する。

<manifest
    ...
    <application
        ...
        <property
            android:name="android.adservices.AD_SERVICES_CONFIG"
            android:resource="@xml/gma_ad_services_config"
            tools:replace="android:resource" />
        ...
    </application>
    ...
</manifest>

こんな感じ。

自分の環境の場合は、AdMobとFirebaseがそれぞれandroid.adservices.AD_SERVICES_CONFIGの記載をしていたがために衝突が起きていたっぽい。

そもそもUnity6000に対してAdmobパッケージが8.7.0は古いし、何より8系はdeprecatedなはずなので、早急にAdmobパッケージをアップデートした方がいいかも。。

入れた後ビルドするとビルドが通って無事解決。