Android에서 API 키 안전하게 관리하기 – Secrets Gradle Plugin 사용법

프로젝트하다가 실수로 API 키를 GitHub에 푸시한 적 있으신가요? 저는 있습니다… Google Maps API 키를 하드코딩해놨다가 커밋하고 나서 식은땀이 났던 기억이 나네요. 오늘은 Google에서 제공하는 Secrets Gradle Plugin으로 API 키를 안전하게 관리하는 방법을 공유해볼게요. 기존에 어떻게 했나? 보통 이런 식으로 했죠: // ❌ 절대 하면 안 되는 방법 class MapsActivity : AppCompatActivity() { private val API_KEY … Read more

안드로이드 클린 아키텍처 정리

안드로이드 클린 아키텍처 정리 안드로이드 클린 아키텍처 정리 클린 아키텍처란? 최근에 클린 아키텍처를 안드로이드 프로젝트에 적용해보고 있는데, 처음에는 계층이 왜 이렇게 복잡한지 이해가 안 됐다. 하지만 막상 구조를 나눠서 코드를 작성해보니 “UI와 로직, 데이터가 뒤엉키지 않는다”는 게 이렇게 큰 장점일 줄은 몰랐다. 기본적으로 계층은 세 가지로 나뉜다: presentation: UI, ViewModel domain: UseCase, Entity, Repository Interface … Read more

Jetpack Compose에서 TTS 간단하게 구현하기 – rememberTextToSpeech 커스텀 훅 만들기

최근에 어르신들을 위한 앱을 만들면서 음성 안내 기능을 넣어야 했어요. Compose로 작업하다 보니 TTS도 Compose스럽게 쓰고 싶더라구요. 그래서 간단한 커스텀 Composable을 만들어봤습니다. 왜 Compose에서 TTS가 까다로울까? TTS는 Android의 전통적인 API라서 Compose의 선언적 패러다임과 잘 안 맞아요. 특히 이런 부분들이 신경 쓰였습니다: 초기화가 비동기로 진행됨 Activity 생명주기에 맞춰 정리해야 함 Recomposition 때마다 새로 생성되면 안 됨 … Read more

Firebase Remote Config로 데모 앱 유효기간 관리하기 – 빌드 시간 기반 자동 만료 시스템

최근에 회사에서 SDK 데모 앱을 만들면서 겪은 일입니다. 무제한으로 사용하게 둘 수는 없고… 그렇다고 매번 만료일을 하드코딩해서 빌드하기도 번거롭더라구요. 그래서 Firebase Remote Config를 활용해서 꽤 괜찮은 해결책을 만들었습니다. 오늘은 그 과정을 공유해보려고 합니다. 문제 상황 저희가 원했던 건 이런 거였어요: 빌드할 때마다 자동으로 3일 사용 기한 설정 “며칠만 더 써보고 싶다”고 하면 즉시 연장 가능 … Read more

Windows에서 Fastlane + Firebase로 앱 배포 자동화하기

iOS/Android 앱 배포 자동화를 위한 Fastlane을 Windows에서 설정하는 방법을 정리해보았습니다. Mac이 아닌 Windows 환경에서도 충분히 Fastlane을 활용할 수 있습니다! 📋 사전 준비사항 Fastlane을 설치하기 전에 다음 프로그램들이 필요합니다: Ruby: Fastlane은 Ruby 기반으로 동작합니다 Git Bash: Unix 명령어를 Windows에서 사용하기 위해 필요합니다 Android Studio 또는 IntelliJ IDEA: 개발 환경 🔧 Step 1: Ruby 설치하기 Windows에서 Ruby를 … Read more

Windows에서 Claude Code 설치 가이드

Windows에서 Claude Code 완벽 설치 가이드 – AI 코딩의 새로운 차원 🚀 Windows에서 Claude Code 완벽 설치 가이드 – AI 코딩의 새로운 차원 개발자 여러분! 혁신적인 AI 코딩 도구 Claude Code를 Windows에서 사용하고 싶으신가요? 이 글에서는 초보자도 쉽게 따라할 수 있는 완벽한 설치 가이드와 실전 활용법을 제공합니다. 🤖 Claude Code란? – AI 코딩의 게임 체인저 … Read more

모노로그 계정 삭제 방법 안내

이 페이지는 Android 앱 ‘모노로그 (Monolog)’ 사용자들의 계정 삭제 요청을 안내하기 위한 공식 페이지입니다. 안녕하세요 모노로그 앱을 이용해 주셔서 감사합니다. 사용자는 언제든지 자신의 계정을 삭제할 수 있으며, 계정 삭제 시 모든 개인 데이터가 영구적으로 제거됩니다. 아래 안내를 따라 계정 삭제를 진행해 주세요. 1. 계정 삭제 전 유의사항 2. 계정 삭제 방법 앱 내에서 계정 삭제하는 … Read more

Poit 앱 계정 삭제 방법 안내

이 페이지는 Android 앱 ‘Poit’ 사용자들의 계정 삭제 요청을 안내하기 위한 공식 페이지입니다. 안녕하세요, 저희 앱을 이용해 주셔서 감사합니다. 사용자는 언제든지 자신의 계정을 삭제할 수 있으며, 계정 삭제 시 모든 개인 데이터가 영구적으로 제거됩니다. 아래 안내를 따라 계정 삭제를 진행해 주세요. 1. 계정 삭제 전 유의사항 2. 계정 삭제 방법 앱 내에서 계정 삭제하는 방법 … Read more

[Android] AGP 8.8.0에서 앱 이름 변경하여 빌드하기

AGP 버전이 올라감에 따라, 기존에 사용하던 방식으로는 더 이상 앱 이름이 변경 되지 않아 아래와 같이 로직을 수정해 주었다.ex) app-release.apk -> appName_version.apk aab의 경우, 태스크를 확인해 변경해주는 방식을 이용하였다. aab와 apk 모두 이름이 잘 변경되어 빌드 되는 것을 확인 할 수 있었다!

[Android] apksigner 을 이용한 앱 서명 방법

기존에는 jarsigner를 활용해 서명을 진행했지만, Android 11 이상부터는 apksigner를 활용해 서명을 진행해야만 앱을 설치할 수 있습니다.그럼 apksigner를 활용한 apk 서명 방법에 대해 알아봅시다! https://developer.android.com/tools/apksigner 자세한 내용은 상단 AndroidDevelopers를 참고하세요! 여기까지 진행하고나면, apk에 signing이 완료된 것을 확인할 수 있으며, 이제 install 이 가능합니다 ^______^