분류 전체보기 42

커서(Cursor) 3.3 토큰 사용량 분석 — 멀티모듈 안드로이드 토큰 낭비 줄이기

얼마 전에 커서(Cursor) 3.3으로 업데이트하고 Context Usage Breakdown을 처음 켜봤는데, 숫자가 예상보다 훨씬 크게 나와서 멘붕이 왔어요. 사이드로 만들던 5모듈 안드로이드 앱에서 제 화면 기준으로 codebase로 잡힌 항목 하나가 토큰 예산의 68%를 먹고 있었거든요(어디까지나 제 환경 기준 수치예요). 처음엔 뭔가 잘못 설정한 줄 알았는데, 파고들다 보니 멀티모듈 구조 특유의 패턴이더라고요. 한 가지 먼저 짚어두고 싶은 부분이 있습니다. 커서 3.3 업데이트에서 본격적으로 강조된 병렬 빌드(Build in Parallel) 기능으로 돌아가는 서브에이전트는 독립된 토큰 공간에서 작업하고, 결과 요약만 부모 에이전트에게 돌려줍니다. 그래서 수치가 크게 보여도 실제 메인 토큰 소..

안드로이드 17 QPR1 베타 2 픽셀에 깔고 5일, 우리 앱이 깨진 자리 3곳

밤 11시, 픽셀 9(Pixel 9)에 안드로이드(Android) 17 QPR1 베타 2 OTA 알림이 떴습니다. '어차피 베타니까' 하고 눌렀더니, 다음 날 아침 우리 앱 BottomSheet가 네비게이션 바 뒤로 조용히 사라져 있더라고요. 5일 동안 하나씩 파고들어 보니 세 군데가 각각 다른 이유로 깨져 있었습니다. 어떤 건 릴리즈 직전이었다면 정말 아찔할 뻔한 상황이었거든요. 안드로이드 17 QPR1 베타 2, 앱 개발자가 챙겨야 할 변경 사항이번 베타는 6월 정식 버전과는 별개로, 9월에 있을 픽셀 Feature Drop을 미리 시험하는 QPR1(Quarterly Platform Release) 빌드입니다. 그래서 구글(Google)이 손댄 영역이 생각보다 넓습니다. 크게 세 가지예요. 첫째는 백..

클로드 코드 리모트 컨트롤, 폰에서 노트북 안드 빌드를 제어해본 첫 후기

노트북을 한 번도 꺼내지 않고 안드로이드 빌드를 완료했습니다. 가방 안에 그냥 둔 채로 폰으로만 지시했는데, 빌드에 에러 수정까지 됐어요. 지난 2월 첫선을 보인 클로드 코드(Claude Code) 리모트 컨트롤(Remote Control) 기능 덕분입니다. v2.1.51 이상 버전에서 쓸 수 있는데요. 노트북에서 클로드 코드 세션을 열어두고 폰으로 그 세션을 원격 조종하는 방식이에요. 지난주 카페에서 처음으로 제대로 써봤는데, 됩니다. 진짜로. 클로드 코드 리모트 컨트롤 원리, 폰이 하는 건 아무것도 없습니다사실 이 기능에서 폰이 담당하는 건 하나도 없습니다. 코드 실행, 빌드, 파일 수정 — 전부 노트북에서 처리됩니다. 폰은 명령을 입력하고 결과를 받아보는 창구 역할만 해요. 그래서 정확히 설명하자면..

Material3 1.5.0-alpha19 adaptive pane scaffold, 1.5.0 안정 직전 정리

adaptive 기능을 쓰려면 adaptive 모듈이 필요하다는 건 당연한 얘기처럼 들리죠. alpha19를 살펴보다 보니 그 전제가 흔들릴 수 있다는 흐름이 보였습니다. PaneScaffoldScope와 AnimatedPane 같은 일부 타입이 material3 본체에서도 노출되는 변경이 논의 중이라는 이야기가 있거든요. Material3 adaptive API, 본체 노출 가능성 (검증 필요)PaneScaffoldScope, ThreePaneScaffoldRole, AnimatedPane — 이 세 타입이 material3-adaptive 모듈에서 material3 본체 모듈에서도 참조 가능해질 수 있다는 변경이 거론되고 있어요. 다만 이 글을 쓰는 시점 기준으로 제가 직접 확인한 공식 릴리즈 노트 ..

GPT-5.2-Codex, 안드로이드 멀티모듈에서 진짜 어떠냐고요

벤치마크 1위 모델이 안드로이드 실무에서 의외의 고전을 면치 못했습니다. 바로 GPT-5.2-Codex 얘기예요. 점수가 높을수록 실무도 강하다는 공식, 안드로이드 멀티모듈 개발에서는 잘 안 통하거든요. 얼마 전에 50개 모듈 규모의 코틀린 멀티플랫폼(Kotlin Multiplatform, KMP) 프로젝트에 GPT-5.2-Codex, 클로드 코드(Claude Code) 1M, 커서(Cursor) 3.3을 붙여서 같은 일감을 비교해봤어요. 젯팩 컴포즈(Jetpack Compose) 화면 작성, Gradle 컨벤션 플러그인 리팩터링, ProGuard 분석까지 돌려봤는데 결과가 꽤 흥미로웠습니다. GPT-5.2-Codex 안드로이드 실무, 벤치마크와 달랐던 이유 GPT-5.2-Codex는 SWE-Bench ..

제미나이가 경쟁사 앱을 호출하는 날, 내 사이드 앱은 준비됐을까

'내일 오전 팀장님이랑 회의 잡아줘.' 사용자가 제미나이(gemini)에 말합니다. 제미나이가 캘린더 앱을 열고 일정을 넣어요. 그런데 그 캘린더 앱은 제가 만든 앱이 아니라, 인텐트(intent) 필터를 제대로 달아둔 경쟁사 앱이에요. 2026-05-12 android show에서 발표된 제미나이 인텔리전스(gemini intelligence)의 핵심이 바로 이 장면인데요. 사실 이 기능의 밑바탕에는 올해 2월부터 차근차근 풀리고 있던 appFunctions 기술이 깔려 있습니다. 앱 자동화라고 부르는 이 기능, 쉽게 말하면 제미나이가 사용자의 자연어 요청을 해석해서 기기에 깔린 앱의 특정 기능을 직접 실행해주는 구조예요. 사이드 프로젝트로 앱을 운영하고 있다면 지금부터 무엇을 손봐야 할지 하나씩 정리..

Android 개발 2026.05.17

Gemini Spark 누설로 다시 그린 I/O 2026 키노트 — 안드 개발자가 노릴 자리 5가지

어제 새벽이었어요. 구글 앱 베타(17.23 버전)에 '제미나이 스파크(Gemini Spark) BETA' 팝업이 잠깐 떴다 사라졌습니다. 문제는 약관 한 줄이었어요. 민감한 작업은 원칙적으로 승인을 받지만, '때때로 사용자 확인 없이 구매를 진행할 수 있다'는 내용이었죠. I/O 2026 키노트 그림이 통째로 바뀌는 신호로 보입니다. D-4 시점이라 안드로이드 6년차 입장에서 우선순위를 다시 정리해봤어요. 한국시간 5월 20일 새벽 2시에 메인 키노트, 현지 시각으로 같은 날 PT 기준 오후 1시 30분에 개발자 키노트가 이어집니다. 진짜 알맹이는 후자에 몰려 있을 가능성이 커보이네요. 제미나이 스파크 누설이 가리키는 실행형 에이전트이번 팝업이 흥미로운 건 약관 문장입니다. "때때로 사용자 확인 없이 ..

Project Aluminium 출시 전에 안드로이드 앱에서 미리 손봐야 할 4가지

얼마 전에 갤럭시 탭에 제 앱을 띄워봤는데요, 키보드 엔터를 아무리 눌러도 로그인이 안 되더라고요. Project Aluminium(프로젝트 알루미늄)이 오면 이런 앱은 진짜 곤란해집니다. 대화면 환경이 '선택'이 아닌 '기본'이 되는 시대가 머지않았거든요. Project Aluminium이 안드로이드 앱 개발에 미치는 변화이게 원래 루머로만 돌았는데, 2025년 9월 퀄컴 스냅드래곤 서밋에서 릭 오스털로(Rick Osterloh)가 Android-PC 통합 계획을 공식 발표하면서 기정사실화됐죠. '알루미늄(Aluminium)'이라는 이름 자체는 구글 채용 공고를 통해 확인된 코드명이에요. 안드로이드와 크롬OS(ChromeOS)를 단일 OS로 통합해서, 스마트폰·태블릿·노트북까지 하나의 코드로 대응하는 ..

Android 개발 2026.05.15

자연어로 쓰는 E2E 테스트, 안드로이드 스튜디오 저니스 1주일 후기

지난주에 안드로이드 스튜디오 저니스(Android Studio Journeys)를 처음 열고 '로그인 후 장바구니에 담기'라고 입력했습니다. 잠시 뒤, 에뮬레이터가 혼자 움직이더라구요. 처음엔 진짜 놀랐어요. 코드 한 줄 안 쓰고 자연어만 던졌는데 제미나이(Gemini) AI가 앱 화면 구조를 훑고 테스트 단계를 스스로 잡아내거든요. "QA 자동화가 진짜 이걸로 되는 건가?" 하는 기대와 "분명 함정이 있겠지" 하는 의심이 동시에 올라왔습니다. 1주일 써보니, 둘 다 맞았네요. 저니스 작동 방식, 자연어가 어떻게 테스트 코드가 되나저니스는 Android Studio Otter 3 Feature Drop(2025.2.3) 버전을 기준으로 Studio Labs의 실험 기능으로 들어가 있습니다. 설정에서 기능..

최근 안정화된 Compose API, MeshGradient 말고 매일 쓸 3가지

화려한 MeshGradient보다 따분한 lint 경고 하나가 팀 전체 성능 기준을 바꿔놓습니다. 이번 릴리즈의 진짜 가치는 제일 눈에 안 띄는 API 세 개에 있더라구요. 젯팩 컴포즈(Jetpack Compose)의 최근 업데이트 내역을 처음 봤을 때, 솔직히 MeshGradient에 잠깐 눈이 갔습니다. 그런데 릴리즈 노트를 조금 더 읽다 보니까, 매일 손 가는 코드 문제들을 건드린 변경사항 세 개가 눈에 띄더라구요. 직렬화 보일러플레이트, 재컴포지션 성능 버그, 서비스에서의 다이얼로그 처리 — 다들 한 번씩은 머리를 싸맨 지점들이에요. 이런 기능들은 과거에 소개된 이후 이제는 안정화되어 더 편하게 쓸 수 있게 되었죠. rememberSerializable + KSerializer: Parcelabl..