microG GmsCore는 구글 모바일 서비스(Google Play Services)가 없는 안드로이드 기기에서도 Play Services 전용 앱들이 동작하도록 만드는 FLOSS(자유/오픈소스) 대체 구현체입니다. Google Cloud Messaging(FCM/GCM), 위치(geolocation), 지도, 인증(Auth), Firebase Auth/Dynamic Links 등 Play Services의 여러 API를 Java/Kotlin으로 재구현해서 제공합니다.
레포는 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)이 있어 배포 버전 관리가 자동화되어 있습니다.
- STEP 01
README에 안내된 대로 실제 배포/설치는 GitHub Wiki를 참고해야 하며, 소스만으로는 바로 실행되는 데모가 없고 Android 기기에 시스템 앱 또는 사용자 앱으로 설치해야 동작을 확인할 수 있습니다.
- STEP 02
Gradle로 빌드하면 build.gradle의 git describe 로직에 따라 버전명이 결정되므로, 태그 없는 클론이나 shallow clone 상태에서는 버전 계산이 실패하거나 0.0.0으로 처리될 수 있습니다.
- STEP 03
firebase-auth 모듈을 살펴보면 IdentityToolkitClient.kt, ReCaptchaActivity.kt 등이 있어 실제 로그인 시 reCAPTCHA 웹뷰 오버레이가 뜨는 흐름을 코드로 확인할 수 있습니다(assets/recaptcha.html 포함).
- STEP 04
fake-signature 모듈을 huawei 플레이버로 빌드하면 부팅 시 InitReceiver가 실행되어 백그라운드 SignatureService가 뜨고, 앱 서명 조회 요청에 응답하는 것을 실제 기기에서 관찰할 수 있습니다.
- STEP 05
이 레포 자체만으로는 GCM/FCM 푸시나 지도 렌더링을 눈으로 볼 수 없고, 실제 동작 확인은 microG를 설치한 뒤 Play Services 의존 앱(예: 지도/알림 사용 앱)을 함께 실행해야 합니다.
직접 빌드·설치하면 Play Services가 없는 커스텀 롬이나 GApps 미탑재 기기에서도 Firebase 푸시 알림, 로그인(Firebase Auth, reCAPTCHA 포함), 동적 링크, 위치 서비스 등 구글 종속 기능을 사용하는 앱들이 정상 동작하게 되는 APK 세트를 얻습니다. 소스만 열람하는 경우에는 AIDL 정의와 각 서비스 구현체를 통해 '어떤 Google API가 어떻게 대체되는지' 구조를 파악할 수 있습니다.
제공된 파일 목록에는 위치(geolocation)나 지도(maps) 관련 실제 소스 모듈 디렉터리가 노출되어 있지 않아, 대표 파일만으로는 그 부분의 구체적 동작 방식을 검증할 수 없습니다(README와 토픽에는 언급되지만 소스가 미제공).
실제 실행을 위해서는 시스템 권한(서명 스푸핑 등)이 필요한 경우가 많아 일반 사용자 앱 설치만으로는 전체 기능이 동작하지 않을 수 있으며, 이는 안드로이드 배포판/커스텀 롬 설정에 크게 의존합니다.
fake-signature/huawei 컴포넌트처럼 서명 검증을 우회하는 코드가 포함되어 있어, 보안적으로 민감한 영역(서명 검사 위장)이라는 점은 사용자가 신뢰 모델을 이해하고 사용해야 합니다.
microG/GmsCore는 오래되고 활발히 유지보수되는(버전 자동화, CI 빌드 매처, Weblate 번역 연동 등) 성숙한 프로젝트로, Google 계정 없이 프라이버시 중심 커스텀 롬(LineageOS 등)을 쓰는 사용자나 오픈소스 대체 스택이 필요한 개발자에게 적합합니다. AIDL 기반의 정확한 인터페이스 재구현 방식과 모듈화된 구조, 자동 버전 관리 로직 등 코드 근거가 명확하므로, 직접 설치해보지 않아도 '어떻게 동작하는지'와 '무엇을 대체하는지'에 대한 이 판단은 신뢰할 수 있습니다. 다만 maps/geolocation 등 일부 기능은 제공된 대표 파일에 포함되지 않아 그 부분의 세부 구현은 이 리뷰만으로 완전히 검증되지 않았다는 점은 유의해야 합니다.