Conversation
- applicationIdSuffix로 패키지 분리 - appLabel, appIcon 다르게 설정 - 테스트 앱 google-services.json 파일 추가
WalkthroughThis update introduces environment-specific configurations for debug and release builds of the Android app. It adds new resources and manifest placeholders to distinguish the debug app (with unique icon and label) from the release version. The build script and CI workflow are updated to support these changes, including handling debug-specific Firebase configuration. Additionally, analytics initialization and inspection checks are disabled in debug builds. Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant BuildSystem
participant CI
participant AndroidApp
Developer->>BuildSystem: Trigger build (debug/release)
BuildSystem->>AndroidApp: Apply manifest placeholders (icon/label)
BuildSystem->>AndroidApp: Use debug/release resources
CI->>BuildSystem: Run workflow
CI->>BuildSystem: Decode google-services.json (debug/release)
BuildSystem->>AndroidApp: Assemble APK with environment-specific config
AndroidApp->>Amplitude: Initialize only if release build
AndroidApp->>SplashViewModel: Skip inspection check if debug build
Assessment against linked issues
Assessment against linked issues: Out-of-scope changesNo out-of-scope changes detected. Possibly related PRs
Suggested labels
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
⏰ 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)
🔇 Additional comments (1)
✨ Finishing Touches
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 2
♻️ Duplicate comments (2)
app/src/main/res/values-ko/strings.xml (1)
4-4: Duplicate of EN comment – keep dev label out of production resourcesSame rationale as EN strings: relocate
app_name_devto the debug resource set and marktranslatable="false"to avoid shipping/maintaining an unneeded string in release builds.app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev_round.xml (1)
3-4: Same foreground drawable check appliesEnsure
@mipmap/ic_launcher_dev_foregroundis present; otherwise round-icon generation will fail.
🧹 Nitpick comments (3)
app/src/main/res/values/strings.xml (1)
4-4: Scope dev-only label to the debug resource set and mark as non-translatable
app_name_devis meant exclusively for the debug variant. Placing it in the commonvalues/folder exposes it to production builds and translation workflows.
Consider moving the key tosrc/debug/res/values/strings.xml(orvalues-dev/) and addingtranslatable="false"to avoid unnecessary localisation & APK bloat.<!-- src/debug/res/values/strings.xml --> <string name="app_name_dev" translatable="false">Donkey</string>app/src/main/res/drawable/ic_launcher_dev_background.xml (1)
8-74: Icon vector is overly verbose; consolidate paths to shrink APK sizeThe background contains ~60 identical stroke paths for the grid. At runtime this is fine, but the inflated XML increases the APK and compile time.
You can merge parallel lines into a single<path>using space-separated move/line commands, or generate the grid programmatically in an SVG editor and optimise viasvgobefore converting.Result: ~80 % size drop with no visual change.
app/build.gradle.kts (1)
76-78: Keep release & debug placeholder keys in syncRelease assigns
appLabelandappIconbut leavesroundIconhard-coded in the manifest; the same discrepancy noted for the debug build applies here.
DefineappRoundIconfor release as well to keep variant handling symmetrical and avoid merge conflicts later.manifestPlaceholders["appLabel"] = "@string/app_name" manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher" +manifestPlaceholders["appRoundIcon"] = "@mipmap/ic_launcher_round"
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
app/src/main/ic_launcher_dev-playstore.pngis excluded by!**/*.png
📒 Files selected for processing (7)
app/build.gradle.kts(2 hunks)app/src/main/AndroidManifest.xml(1 hunks)app/src/main/res/drawable/ic_launcher_dev_background.xml(1 hunks)app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml(1 hunks)app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev_round.xml(1 hunks)app/src/main/res/values-ko/strings.xml(1 hunks)app/src/main/res/values/strings.xml(1 hunks)
🔇 Additional comments (2)
app/src/main/res/mipmap-anydpi-v26/ic_launcher_dev.xml (1)
3-4: Verify thatic_launcher_dev_foregroundexists in all density bucketsThe file references
@mipmap/ic_launcher_dev_foreground, but that drawable isn’t part of this PR.
Please confirm it already exists (including round variants) or add it; missing foregrounds will cause build-time “resource not found” errors.app/build.gradle.kts (1)
57-64: Verify presence of debuggoogle-services.jsonfor the “.dev” variantI ran:
fd -H google-services.json app/src find . -type f -name google-services.jsonand found no matching files.
- You must include a
google-services.jsonunderapp/src/debug/(or a multi-client JSON inapp/) containing a client entry with
"package_name": "com.sopt.clody.dev".- Without this, the debug APK will throw
IllegalStateException: Default FirebaseApp is not initializedat runtime.
- 우선순위는 빌드 타입 -> 로케일 순입니다.

📌 ISSUE
closed #303
📄 Work Description
✨ PR Point
클로디가 술식 반전을 통해 돈키로 흑화했습니다. 앞으로 디버깅을 할 때는 돈키 앱으로 진행하게 되겠습니다.
그런데 딱 분리만 해놓은터라 자세한 기능 분리를 추가적으로 진행해야할 것 같은데 해야할 일 함께 의논해주시면 감사하겠습니다.
당장 생각나는 것으로는 ..
가 있습니다..
📸 ScreenShot/Video
Summary by CodeRabbit
Summary by CodeRabbit
New Features
Chores
Bug Fixes