Skip to content

fix(wear): declare AD_ID in the Wear OS manifest; publish workflow builds the Wear bundle - #32

Merged
chartmann1590 merged 1 commit into
mainfrom
fix/wear-ad-id
Oct 9, 2026
Merged

chartmann1590 merged 1 commit into
mainfrom
fix/wear-ad-id

Conversation

@chartmann1590

Copy link
Copy Markdown
Owner

Play Console blocks production releases of com.charles.dosely with "A manifest file in one of your active artifacts doesn't include the com.google.android.gms.permission.AD_ID permission" because the Advertising ID declaration is Yes (advertising/marketing) — true for the phone app (AdMob banners; AD_ID is declared in app/AndroidManifest.xml and also merged in by play-services-ads) — while the Wear OS bundle (versionCode 3) had no AD_ID.

Changes

  • wear/src/main/AndroidManifest.xml: declare com.google.android.gms.permission.AD_ID (the watch app shows no ads; this keeps every artifact consistent with the declaration)
  • Publish to Google Play workflow: version_code (phone) and new wear_version_code (Wear OS) are each optional — the Wear bundle is built with :wear:bundleRelease, signed with the same keystore, verified, and uploaded to the wear:<track> form-factor track; both AABs are kept as run artifacts
  • CHANGELOG

Next: build + upload Wear 1.1.1 (versionCode 5) to wear:production and add it to the release in review, replacing versionCode 3.

…ilds the Wear bundle too

Play Console blocks releases when any active artifact of com.charles.dosely lacks
com.google.android.gms.permission.AD_ID while the Advertising ID declaration says the app
uses it (the phone app does: AdMob banners, declared directly and via play-services-ads).
The Wear bundle (versionCode 3) had no AD_ID, so every production release showed the error.

- wear/AndroidManifest.xml: add the AD_ID permission (the watch app shows no ads)
- Publish workflow: version_code (phone) and wear_version_code (Wear OS) are each optional;
  the Wear bundle is built with :wear:bundleRelease, signed with the same keystore and
  uploaded to the wear:<track> form-factor track; both AABs are kept as run artifacts
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T15:45:56.051158Z b641f1a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chartmann1590
chartmann1590 merged commit 6164dc8 into main Oct 9, 2026
5 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b641f1ac59

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
packageName: com.charles.dosely
releaseFiles: wear/build/outputs/bundle/release/wear-release.aab
track: wear:${{ github.event.inputs.track }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Map the Wear internal track to wear:qa

When a Wear version is supplied while the workflow's default internal track remains selected, this produces wear:internal, so r0adkll/upload-google-play rejects it during its exact track-name validation and the Wear release is not uploaded (after the phone upload may already have committed). Google defines the Wear OS internal-testing track as wear:qa, while wear:internal would only exist if a custom closed track with that name had been created; map the internal choice to qa when constructing the Wear track. See Google's form-factor track-name table and the action's track validation.

Useful? React with 👍 / 👎.

@kilo-code-bot

kilo-code-bot Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (3 files)
  • wear/src/main/AndroidManifest.xml - Added AD_ID permission with explanatory comment
  • .github/workflows/publish-google-play.yml - Added Wear OS bundle build/upload with conditional logic
  • CHANGELOG.md - Documented the fix

Reviewed by free · Input: 127.2K · Output: 3.3K · Cached: 13K

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant