본문 바로가기
Android

Android Studio Gemini Agent 사용법 — 멀티모듈 리팩토링 실전 후기

by HlAos 2026. 5. 22.
반응형

Android 개발을 하다 보면 오래된 프로젝트를 방치하게 되는 순간이 온다. 라이브러리 버전은 뒤처지고, 구조는 지금 기준으로 보면 손봐야 할 부분이 한둘이 아닌데 막상 시작하기가 귀찮다. 최근 Android Studio에 Gemini Agent 기능이 생기면서 그 숙제를 드디어 꺼냈다.

 

Gemini 무료버전임에도 불구하고 설명이 괜찮았다. 확실히 안드로이드 개발에 대한 지식이 있는 사람이라면 금방 앱을 만들 수 있다. 고연차가 필요할까?

 

이 글에서는 Gemini Agent를 활용해 Layered Architecture 기반 멀티모듈 구조로 리팩토링한 실제 과정을 정리한다.


Gemini Agent란?

Android Studio의 Chat 탭에 새로 생긴 AI 코딩 어시스턴트다. 단순한 코드 자동완성이 아니라, 프로젝트 파일을 직접 읽고 분석한 뒤 파일을 생성하거나 수정하는 에이전트 방식으로 동작한다. 무료 버전에서도 사용 가능하다.

 

기존 AI 코딩 도구들과 가장 다른 점은, 변경 사항을 바로 적용하지 않고 개발자가 확인 후 Accept / Rollback을 선택할 수 있다는 것이다. 실수로 잘못된 코드가 반영되는 리스크를 줄여준다.


어떤 구조로 리팩토링했나

목표 구조는 Android에서 권장되는 Layered Architecture(계층형 아키텍처) 기반 멀티모듈이다.

root
├── app         (UI, ViewModels, Hilt Application)
│   └── java/.../di
│       └── AppModule.kt
│
├── remote      (Retrofit, API Interface, Remote Impl)
│   └── java/.../di
│       ├── NetworkModule.kt
│       └── RemoteModule.kt
│
└── data        (Room, Repository)
    └── java/.../di
        └── DatabaseModule.kt

각 모듈의 역할이 명확히 분리되어 있어서 유지보수와 테스트가 훨씬 수월해진다. 특히 나중에 서버 스택이 바뀌거나 로컬 DB 라이브러리를 교체해야 할 때 해당 모듈만 수정하면 된다는 게 장점이다.


Gemini Agent 실제 사용 과정

1단계: 원하는 구조를 텍스트로 설명한다

Chat 탭에서 구조를 그림처럼 텍스트로 붙여넣고, "이런느낌으로 폴더구조 가져가려고 해, 만들어줄래? 괜찮은구조지?" 라고 입력했다.

Agent는 바로 생성에 들어가지 않고, 먼저 프로젝트 파일을 직접 분석한다.

  • settings.gradle.kts 검색 및 읽기
  • libs.versions.toml 읽기
  • build.gradle.kts 읽기

기존 프로젝트의 현재 상태를 파악한 뒤 작업을 시작하는 것이다.

2단계: Agent가 파일을 자동 생성·수정한다

분석이 끝나면 필요한 변경 작업을 한 번에 처리한다. 실제로 생성되거나 수정된 항목은 아래와 같다.

libs.versions.toml — Hilt, Retrofit, OkHttp, KSP 버전 추가 및 라이브러리 정의

settings.gradle.kts — :remote, :data 모듈을 프로젝트에 포함

build.gradle.kts (Root/App/Remote/Data) — 각 모듈에 필요한 플러그인(Hilt, KSP)과 모듈 간 의존성(app → data → remote) 설정

DI 파일 생성

  • app/.../di/AppModule.kt — 전역 설정
  • remote/.../di/NetworkModule.kt — Retrofit, OkHttpClient 설정 포함
  • remote/.../di/RemoteModule.kt — @Binds를 사용한 Repository 추상 클래스
  • data/.../di/DatabaseModule.kt — Room 등 로컬 DB 설정용

3단계: 변경 내용을 확인하고 Accept한다

 

모든 변경 사항은 Files Changed 패널에서 확인할 수 있다. 파일별로 추가·삭제된 라인이 표시되고, 개별 파일마다 Rollback이 가능하다. 문제가 없으면 Accept를 눌러주기만 하면 된다.

빌드 오류가 발생해도 Agent가 오류 메시지를 읽고 원인을 파악해서 바로 수정안을 제시한다. 수정 → 확인 → Accept 사이클이 빠르게 돌아간다.


이 구조가 좋은 이유

항목설명
관심사 분리 UI 로직(app), 데이터 변환(data), 네트워크 통신(remote)이 분리되어 코드가 섞이지 않는다
교체 용이성 서버 스택이나 로컬 DB 변경 시 해당 모듈만 수정하면 된다
빌드 속도 변경된 모듈만 다시 빌드하므로 프로젝트가 커질수록 이점이 커진다

실제로 써보니

 예전이라면 멀티모듈 세팅만 해도 settings.gradle.kts, build.gradle.kts 각각 손대고, 의존성 연결 확인하고, 빌드 오류 잡고 최소 1~2시간은 걸리던 작업이다.

 Gemini Agent를 쓰니 구조 설명부터 파일 생성, 빌드 확인까지 30분 안에 끝났다.

무료 버전임에도 Android 프로젝트 구조를 꽤 잘 이해하고 있다. 단, 결과물을 검토할 수 있는 기본적인 Android 개발 지식은 있어야 제대로 활용할 수 있다. Agent가 틀린 방향으로 가고 있을 때 잡아줄 수 있어야 하기 때문이다.

바이브 코딩이라는 말이 요즘 자주 들리는데, 도구가 코드를 짜주는 시대일수록 무엇을 만들지 결정하는 기획력과 결과물을 판단하는 기술적 안목이 오히려 더 중요해진다는 걸 느꼈다. 앱은 결국 아이디어가 본질이고, 도구는 그 속도를 바꿀 뿐이다.


정리

  • Android Studio Gemini Agent는 Chat 탭에서 무료로 사용 가능
  • 프로젝트 파일을 직접 분석하고 코드를 생성·수정하는 에이전트 방식
  • 멀티모듈 세팅, DI 구조 생성 등 반복적인 보일러플레이트 작업에 효과적
  • 변경 내용은 Accept 전에 파일 단위로 확인 가능
  • 기본적인 Android 개발 이해가 있을수록 활용도가 높아진다

앱 개발자 요즘도 많이 필요할까?ㅎㅎ 몇년안에 점점 바뀔지 모르곘다.

 

 

 

반응형