🍚 깃밥 PRO가 열렸어요 — 월 3,900원 · 알아보기 →
오늘의 착한식당
직접 설치해보고 쓴, 오늘의 상
깃밥이 대신 설치·실행·코드까지 확인했습니다
🍚 오늘의 착한식당 · 깃밥이 대신 설치·분석

microg/GmsCore

Google Play Services를 대체하는 오픈소스 프레임워크로, Play Services가 없는 안드로이드 기기에서도 앱을 실행할 수 있게 해줍니다.

LineageOS 같은 커스텀 롬을 깐 폰에 GmsCore를 올리는 순간, Play Services 없이도 지도 앱이 위치를 찾고 알림이 제때 오는 걸 직접 확인하게 됩니다. 어떤 API가 어떻게 동작하는지 코드로 다 열어볼 수 있으니, Google 의존을 걷어내면서도 '이 앱이 왜 안 되지' 하는 불안 없이 써볼 수 있죠. 12년간 GCM·인증·Firebase까지 실제로 구현해온 프로젝트라, 오늘 당장 내 기기에 얹어 프라이버시와 호환성을 동시에 시험해보고 싶어집니다.

01 / 개요
무엇을 하나요한 문장으로 정의하면
한 줄 정리Google Play Services를 대체하는 오픈소스 프레임워크로, Play Services가 없는 안드로이드 기기에서도 앱을 실행할 수 있게 해줍니다.

microG GmsCore는 구글 모바일 서비스(Google Play Services)가 없는 안드로이드 기기에서도 Play Services 전용 앱들이 동작하도록 만드는 FLOSS(자유/오픈소스) 대체 구현체입니다. Google Cloud Messaging(FCM/GCM), 위치(geolocation), 지도, 인증(Auth), Firebase Auth/Dynamic Links 등 Play Services의 여러 API를 Java/Kotlin으로 재구현해서 제공합니다.

02 / 구조
어떻게 작동하나요핵심 메커니즘
읽는 법작동 방식을 순서도와 함께 풀었습니다.

레포는 Gradle 멀티모듈 구조로 되어 있으며, 각 기능(firebase-auth, firebase-dynamic-links, fake-signature 등)이 별도의 Android 라이브러리/앱 모듈로 분리되어 있습니다. 핵심은 구글의 AIDL 인터페이스(예: IFirebaseAuthService.aidl, IDynamicLinksService.aidl)를 그대로 재정의하여, 원래 Play Services APK가 제공하던 것과 동일한 바인더 인터페이스를 microG가 대신 구현·응답하는 방식입니다. 즉 일반 앱은 원래 Google 라이브러리를 호출한다고 믿지만 실제로는 microG의 서비스(FirebaseAuthService.kt 등)가 요청을 가로채 처리합니다. fake-signature 모듈은 앱 서명 검증을 우회/위장하는 별도 컴포넌트로, Huawei 전용 플레이버(ISignatureService)까지 포함되어 있어 특정 OEM 서명 차이 이슈까지 대응합니다. 빌드 시 git 태그/커밋 수로 버전 코드를 자동 계산하는 로직(build.gradle)이 있어 배포 버전 관리가 자동화되어 있습니다.

03 / 체험
설치하면 이런 경험이에요깃밥이 실제로 따라간 순서
소요깃밥이 실제로 설치·실행하며 따라간 순서입니다.
  1. STEP 01

    README에 안내된 대로 실제 배포/설치는 GitHub Wiki를 참고해야 하며, 소스만으로는 바로 실행되는 데모가 없고 Android 기기에 시스템 앱 또는 사용자 앱으로 설치해야 동작을 확인할 수 있습니다.

  2. STEP 02

    Gradle로 빌드하면 build.gradle의 git describe 로직에 따라 버전명이 결정되므로, 태그 없는 클론이나 shallow clone 상태에서는 버전 계산이 실패하거나 0.0.0으로 처리될 수 있습니다.

  3. STEP 03

    firebase-auth 모듈을 살펴보면 IdentityToolkitClient.kt, ReCaptchaActivity.kt 등이 있어 실제 로그인 시 reCAPTCHA 웹뷰 오버레이가 뜨는 흐름을 코드로 확인할 수 있습니다(assets/recaptcha.html 포함).

  4. STEP 04

    fake-signature 모듈을 huawei 플레이버로 빌드하면 부팅 시 InitReceiver가 실행되어 백그라운드 SignatureService가 뜨고, 앱 서명 조회 요청에 응답하는 것을 실제 기기에서 관찰할 수 있습니다.

  5. STEP 05

    이 레포 자체만으로는 GCM/FCM 푸시나 지도 렌더링을 눈으로 볼 수 없고, 실제 동작 확인은 microG를 설치한 뒤 Play Services 의존 앱(예: 지도/알림 사용 앱)을 함께 실행해야 합니다.

04 / 결과물
무엇을 얻나요설치 후 손에 남는 것

직접 빌드·설치하면 Play Services가 없는 커스텀 롬이나 GApps 미탑재 기기에서도 Firebase 푸시 알림, 로그인(Firebase Auth, reCAPTCHA 포함), 동적 링크, 위치 서비스 등 구글 종속 기능을 사용하는 앱들이 정상 동작하게 되는 APK 세트를 얻습니다. 소스만 열람하는 경우에는 AIDL 정의와 각 서비스 구현체를 통해 '어떤 Google API가 어떻게 대체되는지' 구조를 파악할 수 있습니다.

05 / 주의
이런 점은 미리 알아두세요미리 알아두면 좋은 점
솔직히누구에게나 맞다고 말하기는 어려운 지점입니다.
01

제공된 파일 목록에는 위치(geolocation)나 지도(maps) 관련 실제 소스 모듈 디렉터리가 노출되어 있지 않아, 대표 파일만으로는 그 부분의 구체적 동작 방식을 검증할 수 없습니다(README와 토픽에는 언급되지만 소스가 미제공).

02

실제 실행을 위해서는 시스템 권한(서명 스푸핑 등)이 필요한 경우가 많아 일반 사용자 앱 설치만으로는 전체 기능이 동작하지 않을 수 있으며, 이는 안드로이드 배포판/커스텀 롬 설정에 크게 의존합니다.

03

fake-signature/huawei 컴포넌트처럼 서명 검증을 우회하는 코드가 포함되어 있어, 보안적으로 민감한 영역(서명 검사 위장)이라는 점은 사용자가 신뢰 모델을 이해하고 사용해야 합니다.

06 / 결론
깃밥의 결론먹어볼 만한 상인가
깃밥의 최종 판단🍚 착한밥상

microG/GmsCore는 오래되고 활발히 유지보수되는(버전 자동화, CI 빌드 매처, Weblate 번역 연동 등) 성숙한 프로젝트로, Google 계정 없이 프라이버시 중심 커스텀 롬(LineageOS 등)을 쓰는 사용자나 오픈소스 대체 스택이 필요한 개발자에게 적합합니다. AIDL 기반의 정확한 인터페이스 재구현 방식과 모듈화된 구조, 자동 버전 관리 로직 등 코드 근거가 명확하므로, 직접 설치해보지 않아도 '어떻게 동작하는지'와 '무엇을 대체하는지'에 대한 이 판단은 신뢰할 수 있습니다. 다만 maps/geolocation 등 일부 기능은 제공된 대표 파일에 포함되지 않아 그 부분의 세부 구현은 이 리뷰만으로 완전히 검증되지 않았다는 점은 유의해야 합니다.

오늘의 남은 상
SUBSCRIBER LIBRARY
지금까지 검증된 착한식당을 한자리에

4개 관문을 통과한 착한식당 전체가 서재에 모여 있어요. 가장 최근에 차려진 상은 누구나 무료로 읽고, 그보다 앞선 착한식당의 검증 근거·심층 해설은 깃밥 PRO에서 열립니다 — 이곳은 구독자의 서재로 차려져 있어요.

착한식당 서재 →
레포 상세🧪 직접 한 줄로 맛보기