Skip to content

Conversation

@AndreaDiazCorreia
Copy link
Member

@AndreaDiazCorreia AndreaDiazCorreia commented Oct 27, 2025

Added documentation to solve the common conflict when switching between flutter run (debug) and release APKs from GitHub Actions.

  • New docs/DEBUG_RELEASE_CONFLICT.md explains the signing conflict and provides quick/permanent solutions

related with issue #46

Summary by CodeRabbit

  • Documentation
    • Updated Android release signing configuration example file with revised key values and added comprehensive setup guidance and security considerations.
    • Added new documentation explaining Android debug and release APK installation conflicts, including diagnostic verification steps and multiple resolution strategies.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 27, 2025

Walkthrough

The PR updates the Android Release Signing configuration example with revised placeholder values (storeFile, storePassword, keyPassword, keyAlias) and safety-focused comments. Additionally, it adds documentation explaining Android install conflicts when mixing debug and release APKs built with different signing keys.

Changes

Cohort / File(s) Summary
Android Release Signing Configuration
android/key.properties.example
Updated placeholder values for storeFile (upload-keystore.jks), passwords (uppercase placeholders), and keyAlias (upload). Added instructional and safety comments regarding gitignore warnings and setup guidance.
Android Documentation
docs/DEBUG_RELEASE_CONFLICT.md
New documentation file explaining the cause and resolution of Android install conflicts when mixing debug and release APKs, including verification steps and references to external signing docs.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Verify placeholder values in key.properties.example align with intended Android release configuration
  • Confirm documentation in DEBUG_RELEASE_CONFLICT.md accurately describes the signing conflict and provided solutions

Possibly related PRs

Poem

🐰 A keystore hops into view,
With release keys shiny and new—
No more debug-release collision!
Our signing keys' mission,
Resolved with precision and truuue! 🔑✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "docs: add guide for debug/release APK install conflicts" accurately describes the primary objective stated in the PR description, which explicitly focuses on adding a new documentation file explaining the signing conflict between debug and release APKs. The title is clear, specific, and concise, directly highlighting the main change from the developer's perspective. The secondary file change (android/key.properties.example) appears to be a supporting modification that complements the documentation guide. The title does not need to enumerate every file changed, and it provides sufficient clarity for someone scanning the project history to understand the primary purpose of this changeset.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/keystore-signing-config

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
android/key.properties.example (1)

9-9: Consider clarifying the keystore file location.

The storeFile path is relative. Consider adding a comment clarifying that this path should be relative to the android/ directory (e.g., android/upload-keystore.jks), or include guidance on where users should place the keystore file.

Apply this diff to add clarification:

+# Place your keystore file in the android/ directory
 storeFile=upload-keystore.jks
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 72103e3 and 4c07bda.

📒 Files selected for processing (2)
  • android/key.properties.example (1 hunks)
  • docs/DEBUG_RELEASE_CONFLICT.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
{android,ios,web}/**

📄 CodeRabbit inference engine (AGENTS.md)

Keep platform wrapper code in android/, ios/, and web/

Files:

  • android/key.properties.example
docs/**

📄 CodeRabbit inference engine (AGENTS.md)

Store additional project guidance and documentation in docs/

Files:

  • docs/DEBUG_RELEASE_CONFLICT.md
🧠 Learnings (1)
📚 Learning: 2025-10-22T12:29:26.971Z
Learnt from: CR
PR: MostroP2P/mobile#0
File: CLAUDE.md:0-0
Timestamp: 2025-10-22T12:29:26.971Z
Learning: Applies to android/local.properties : Never commit android/local.properties or secrets it may contain (should be git-ignored)

Applied to files:

  • android/key.properties.example
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build
🔇 Additional comments (6)
docs/DEBUG_RELEASE_CONFLICT.md (5)

1-11: Excellent problem description!

The explanation clearly articulates the root cause of the signing conflict and provides good context for users encountering this issue.


26-37: Clear permanent solution guidance.

Good approach to reference the detailed setup guide rather than duplicating information. The bullet list provides helpful context about what users will find in the referenced guide.


38-52: Helpful additional context!

The verification command and alternative approach guidance add valuable practical information for different user scenarios.


16-22: Package name verified as correct.

The applicationId in android/app/build.gradle is network.mostro.app, which matches the adb uninstall command in the documentation. No changes needed.


55-56: Documentation URLs are accessible and valid.

Both reference links return HTTP 200 status codes, confirming they resolve correctly and provide the expected content. No issues found.

android/key.properties.example (1)

7-7: Documentation reference verified.

The referenced file docs/GITHUB_SECRETS_SETUP.md exists in the repository, so users can access the complete setup instructions as intended.

Copy link
Member

@grunch grunch left a comment

Choose a reason for hiding this comment

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

LGTM

@grunch grunch merged commit 767101e into main Oct 27, 2025
2 checks passed
@grunch grunch deleted the fix/keystore-signing-config branch October 27, 2025 20:53
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.

3 participants