androidflutterandroid-manifestandroid-permissionsgoogle-play-console

Google Play Console permission declaration errors despite correct manifest - QUERY_ALL_PACKAGES and AD_ID issues


Problem Summary

I'm experiencing contradictory permission declaration errors in Google Play Console that don't match my actual app manifest. Despite multiple clean builds and manifest verification, Google Play Console shows incorrect permission status.

Specific Issues

  1. QUERY_ALL_PACKAGES: Google Play Console says "Incomplete broad package visibility declaration" and requires me to complete declaration for QUERY_ALL_PACKAGES permission, but this permission is NOT in my manifest

  2. AD_ID: Google Play Console says

Your advertising ID declaration in Play Console says that your app uses advertising ID. A manifest file in one of your active artifacts doesn't include the com.google.android.gms.permission.AD_ID permission

What I've Verified Source Manifest (android/app/src/main/AndroidManifest.xml):

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
<!-- QUERY_ALL_PACKAGES is NOT present -->

Final Built Manifest (verified with Android Studio's "Analyze APK"):

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
<uses-permission android:name="com.android.vending.BILLING" />
<!-- QUERY_ALL_PACKAGES is confirmed NOT present in final build -->

What I've Tried

  1. Multiple clean builds: flutter clean + fresh flutter build appbundle --release
  2. Verified final AAB: Used "Analyze APK" tool to inspect the actual built manifest
  3. Updated app versions: Created multiple new releases (currently v1.1.10+14)
  4. Browser cache clearing: Tried different browsers and cleared cache
  5. Waited for propagation: Waited several hours between uploads

Technical Details

Questions

  1. Why does Google Play Console show QUERY_ALL_PACKAGES as present when it's confirmed absent from both source and final manifest?
  2. Why does Google Play Console claim AD_ID permission is missing when it's clearly present in both source and final manifest?
  3. Is this a known caching issue with Google Play Console? How long should I wait for their system to update?
  4. Are there any other tools or methods to verify what Google Play Console is actually analyzing?

Additional Context

The app works correctly and all functionality is as expected. This appears to be purely a Google Play Console declaration/analysis issue, but it's preventing me from completing the app release process.

Has anyone experienced similar permission declaration mismatches between actual app manifest and Google Play Console analysis?


Solution

  • Google has had a bug for a long time that no one is bothering to fix. It's like this:

    If you, before putting your app into production, used the closed or open testing options, etc., Google checks whether ALL the apps you used for testing and are no longer interested in meet the requirements of the app you want to put into production.

    So the error message doesn't refer to the app you're trying to put into production; it refers to the old ones.

    So, you just need to go to those old ones and delta, deactivate, or stop the track.

    Then, with that done, you don't even need to upload another version; just try releasing it again and it will work.