-
Notifications
You must be signed in to change notification settings - Fork 3
android 15 대응함 #282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
android 15 대응함 #282
Conversation
WalkthroughGradle 및 Android 빌드 환경 전반에 걸쳐 주요 버전 업그레이드와 의존성 관리 개선이 이루어졌습니다. 빌드 스크립트의 로컬 프로퍼티 접근 방식이 리팩토링되었고, 여러 라이브러리 및 플러그인 버전이 최신으로 갱신되었습니다. OkHttp BOM 적용 방식도 platform 사용으로 변경되었습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Gradle
participant LocalProps
participant BuildConfig
participant Manifest
Gradle->>LocalProps: gradleLocalProperties(rootDir, providers) 호출
LocalProps-->>Gradle: 프로퍼티 맵 반환
Gradle->>BuildConfig: buildConfigField에 값 할당 (escaped quotes)
Gradle->>Manifest: manifestPlaceholders에 값 할당 (string)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~15분 Poem
Note 🔌 MCP (Model Context Protocol) integration is now available in Early Access!Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context. ✨ Finishing Touches
🧪 Generate unit tests
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. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (3)
data/build.gradle.kts (1)
52-53: OkHttp BOM을 platform()으로 선언한 변경 👍다른 모듈들도 동일하게
platform(okHttpBom)형태를 사용하도록 점검하면 BOM 버전 불일치 위험을 줄일 수 있습니다.app/build.gradle.kts (2)
25-27:localProps중복 로드 개선 제안
gradleLocalProperties호출이defaultConfig,debug,release에서 각각 수행되어 I/O가 세 번 발생합니다.
블록 바깥에서 한 번만 읽어val localProps = gradleLocalProperties(rootDir, providers)로 공유하면 속도와 가독성이 좋아집니다.
39-44:BASE_URL디버그/릴리스 설정 시 널 처리 고려
localProps.getProperty("test.base.url")가 정의되지 않으면"null"이 BuildConfig에 삽입됩니다.
requireNotNull또는?: error("prop missing")방식으로 값이 없을 때 즉시 빌드 실패하도록 처리하면 문제를 빠르게 발견할 수 있습니다.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
app/build.gradle.kts(1 hunks)buildSrc/src/main/kotlin/Constants.kt(1 hunks)buildSrc/src/main/kotlin/Versions.kt(1 hunks)data/build.gradle.kts(1 hunks)gradle/wrapper/gradle-wrapper.properties(1 hunks)
🔇 Additional comments (3)
gradle/wrapper/gradle-wrapper.properties (1)
3-3: Gradle 8.10 업그레이드 후 CI / 로컬 JDK 호환성 확인 필요AGP 8.7.2는 최소 Gradle 8.4 이상이면 되지만, 8.10은 JDK 17 또는 21을 요구합니다.
CI 이미지와 로컬 개발 환경이 동일 JDK 버전을 사용하도록 점검해주세요.
미스매치 시 빌드 실패가 발생할 수 있습니다.buildSrc/src/main/kotlin/Constants.kt (1)
3-7: API 35(Android 15) 타겟 지정 전 배포 가능 여부 확인Play Console이 아직
targetSdkVersion 35를 허용하지 않을 수 있습니다.
배포 채널(내부 트랙 포함)에서 실제 업로드 테스트를 해보고 문제 없음을 확인해주세요.buildSrc/src/main/kotlin/Versions.kt (1)
4-10: AGP 8.7.2(프리뷰) 사용 결정 재확인8.7.2는 Canary/Preview 빌드입니다. 안정 버전이 아닌 경우 플러그인·라이브러리 호환성 문제가 발생할 수 있으니, 팀 전체가 프리뷰 사용에 동의했는지 확인 바랍니다.
| "\"${localProps.getProperty("native.app.key")}\"" | ||
| ) | ||
| manifestPlaceholders["NATIVE_APP_KEY"] = | ||
| gradleLocalProperties(rootDir).getProperty("nativeAppKey") | ||
| // manifestPlaceholders는 문자열 그 자체를 넣으면 됨(따옴표 불필요) | ||
| manifestPlaceholders["NATIVE_APP_KEY"] = localProps.getProperty("nativeAppKey") | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
속성 키 불일치 가능성 확인
buildConfigField는 "native.app.key" 값을, manifestPlaceholders는 nativeAppKey 값을 사용하고 있습니다.
환경 파일에서 두 키가 모두 정의되지 않았을 경우 "null" 문자열이 삽입돼 런타임 크래시가 발생할 수 있으니 확인 부탁드립니다.
필요 시 check(localProps.getProperty(... ) != null)로 빌드 단계에서 조기 실패를 유도하는 것을 권장합니다.
🤖 Prompt for AI Agents
In app/build.gradle.kts around lines 31 to 35, there is a mismatch between the
property keys used: buildConfigField uses "native.app.key" while
manifestPlaceholders uses "nativeAppKey". To prevent runtime crashes from null
values if these keys are missing in localProps, add checks using
check(localProps.getProperty(...) != null) for both keys to fail early during
the build if either is undefined.
| // Java / JVM | ||
| val javaVersion = JavaVersion.VERSION_21 | ||
| const val jvmVersion = "21" | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Java 21 전환 시 Toolchain 세팅 필수
JavaVersion.VERSION_21 및 jvmTarget = "21"로 올리면
- AGP 8.x는 기본적으로 JDK 17로 빌드되므로,
java { toolchain.languageVersion.set(JavaLanguageVersion.of(21)) }설정이 필요하고 - 일부 라이브러리가 21 바이트코드를 지원하지 않을 수 있습니다.
CI, Gradle wrapper JVM, 릴리스 빌드가 모두 JDK 21로 통일돼 있는지 반드시 검증해주세요.
🤖 Prompt for AI Agents
In buildSrc/src/main/kotlin/Versions.kt around lines 70 to 73, when upgrading to
Java 21 by setting JavaVersion.VERSION_21 and jvmTarget to "21", you must
configure the Java toolchain explicitly using java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21)) } to ensure AGP 8.x
builds with JDK 21 instead of the default JDK 17. Additionally, verify that the
CI environment, Gradle wrapper JVM, and release builds are all consistently
using JDK 21 to avoid compatibility issues with libraries that may not support
Java 21 bytecode.
Marchbreeze
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
코리봇 개신기하네 고생했으요!
leeeyubin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이게 바로 36대 안드로이드 파트장??!!ㄷㄷ 수고했어요!
crownjoe
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여윽시~~ 수고하셨슴니다!!!!👍👍👍
|
Caution No docstrings were generated. |
🚀 Issue
⛳️ Work Description
📢 To Reviewers
Summary by CodeRabbit