스팀 앱 개발기 #137 - 개발 완료: libs.versions.toml 파일 생성

개발 완료: libs.versions.toml 파일 생성

No. 137
2025. 11. 17 (월) | Written by @dorian-mobileapp

요즘에는 안드로이드 스튜디오에서 프로젝트를 생성하면, 라이브러리를 한곳에서 관리하기 위한 libs.versions.toml 파일이 생성됩니다. 개인적으로는 모듈마다 라이브러리를 중복 참조하는 문제를 해결하고자 build.dependencies.gradle 파일을 관리해왔습니다. 이제는 공식적인 파일이 있으므로 그것으로 대체합니다. 1~2달 전부터 생각은 하고 있었지만, 수작업이 너무 막막해서 못 하고 있었어요. 이제는 인공지능으로 해결 가능하네요. Gemini Code Assist의 Agent 모드를 활용하여 이를 요청했습니다. 단계별로 수정할 코드를 제안하고 저는 이를 수락했습니다. 덕분에 아주 편하게 작업을 완료했어요.


GitHub Commit

보다 자세한 코드는 아래 commit을 참고하세요.


지난 스팀 앱 개발기


Layout provided by Steemit Enhancer hommage by ayogom

Posted using SteemX

Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.

🎉 Congratulations!

Your post has been upvoted by the SteemX Team! 🚀

SteemX is a modern, user-friendly and powerful platform built for the Steem community.

🔗 Visit us: www.steemx.org

✅ Support our work — Vote for our witness: bountyking5

banner.jpg

!ask 안드로이드에서 libs.versions.toml 파일이란 무엇인가요?

libs.versions.toml은 안드로이드(정확히는 Gradle)에서 의존성(라이브러리)과 플러그인의 버전을 한 곳에서 관리하기 위한 설정 파일입니다. Gradle의 Version Catalog 기능을 사용할 때 쓰며, 보통 gradle/libs.versions.toml 경로에 둡니다.

### 왜 쓰나요?
- 버전 관리 중앙화: 여러 모듈(app, feature, core 등)에서 같은 라이브러리 버전을 반복해서 적지 않아도 됩니다.
- 업데이트/동기화 쉬움: 버전 변경을 파일 한 곳에서만 하면 전체에 반영됩니다.
- 가독성/유지보수 향상: implementation(...:...:1.2.3) 형태의 하드코딩을 줄이고, 별칭(alias)으로 관리합니다.

### 파일에 보통 무엇을 적나요?
- [versions] : 버전 번호들(예: kotlin, compose, okhttp 버전)
- [libraries] : 라이브러리 좌표(group:name) + 어떤 버전을 쓰는지
- [plugins] : Gradle 플러그인(id) + 버전

예시(간단):
toml<BR/>[versions]<BR/>kotlin = 1.9.22<BR/>okhttp = 4.12.0<BR/><BR/>[libraries]<BR/>okhttp = { module = com.squareup.okhttp3:okhttp, version.ref = okhttp }<BR/><BR/>[plugins]<BR/>kotlin-android = { id = org.jetbrains.kotlin.android, version.ref = kotlin }<BR/>

### Gradle에서 어떻게 쓰나요?
build.gradle(.kts)에서 보통 이렇게 참조합니다:
- implementation(libs.okhttp)
- plugins { alias(libs.plugins.kotlin.android) }

즉, libs.versions.toml“프로젝트의 의존성과 플러그인 버전 카탈로그(목록)” 라고 보면 됩니다.
원하시면, 현재 사용 중인 Gradle(Groovy/Kotlin DSL) 기준으로 실제 적용 예시도 맞춰서 정리해드릴게요.


command: !ask is powered by witness @justyy and his contributions are: https://steemyy.com
More commands are coming!.
!ask currently supports:

  1. Grok LLM grok-3-mini (prefix: grok)
  2. ChatGPT openai-gpt-5.2 (prefix: chatgpt)
  3. deepseek-r1-distill-llama-70b (prefix: deepseek)
  4. llama3.3-70b-instruct (prefix: llama)
  5. alibaba-qwen3-32b (prefix: qwen)

default=ChatGPT: prefix question with chatgpt, qwen, llama, deepseek, or grok if you like, e.g. !ask deepseek Your Question

Coin Marketplace

STEEM 0.05
TRX 0.28
JST 0.045
BTC 64333.27
ETH 1857.16
USDT 1.00
SBD 0.38