요약
Mac.apk는 에뮬레이터 없이 안드로이드 앱을 macOS의 일반 프로세스로 돌립니다.
GitHub 사용자 kksimp가 공개한 오픈소스 프로젝트입니다. 가상 머신이나 리눅스 커널을 거치지 않고, 안드로이드 앱 실행 환경을 macOS 위에 직접 다시 구현했다고 설명합니다. 아직 알파 단계입니다.
왜 중요한가
- 앱이 CPU와 GPU를 그대로 쓰므로 에뮬레이터의 속도 손실 없이 모바일 전용 앱을 맥에서 쓸 수 있습니다.
- 안드로이드 앱이 Dock 아이콘과 자기 창을 갖고, 맥의 밝은·어두운 화면 설정도 따릅니다.
- 휴대폰과 달리 샌드박스(앱을 격리하는 장치)가 없습니다. 그래서 앱이 사용자 계정 권한으로 맥의 파일에 접근할 수 있습니다.
핵심 내용
- 안드로이드 프레임워크를 새로 짜고 arm64 로더와 ARM32 재컴파일러를 넣었습니다.
- 안드로이드의 C 라이브러리인 Bionic은 호환 층으로 대신하고, OpenJDK 기반 JRE와 ANGLE, MoltenVK도 씁니다.
- 시험한 앱 66개 가운데 52개가 완전히 돌고, 10개는 일부만 되며, 4개는 아직 안 됩니다.
- Google 로그인과 Play 라이선스 확인은 되지만, 인앱 결제와 Play Integrity(기기 무결성 검증)는 안 됩니다.
- macOS 26.4 이상과 Apple Silicon 맥이 필요하고, 라이선스는 AGPL-3.0입니다.
HN 반응
- Google Play 서비스와 SafetyNet 검사에 묶인 은행·게임·교통 앱은 못 쓸 것이라는 지적에, microG 같은 대체 구현이 있다는 답이 붙었습니다.
- README 문장이 AI가 쓴 글 특유의 구조라는 불만이 맨 위 댓글부터 이어졌고, 알아보기 쉬워 오히려 낫다는 반론도 나왔습니다.
아 진짜 다리오, Claude가 이런 문장 구조 좀 이제 그만 쓰게 제발 고쳐 주세요. Opus는 너무 티가 나서 요즘은 볼 때마다 짜증이 치밀어요
알아보기 쉬운 게 왜 문제죠? 저는 AI가 쓴 글인지 아는 쪽이 더 좋은데요.
그냥 너무 많이 쓰여서 이제 식상하고 진부해졌어요.
이렇게 말씀하고 싶으셨던 거죠?
그냥 많이 쓰이는 게 아니라 — 이제는 클리셰예요.
저는 최근에 Claude한테 문서를 쓸 때 간결하게 쓰라고 시켰습니다. 아주 만족스럽습니다. 이런 식으로 나옵니다.
쓸데없이 뜸 들이는 게 없습니다.
장황하진 않을지 몰라도, 관용구를 쓰는 순간 그것도 뜸 들이는 거죠.
이미 늦었어요. 사람들도 벌써 이렇게 말하고 있거든요.
정말 맞는 말씀이에요!
현실적으로는 Google Play Services 의존성과 구글의 다른 폐쇄형 생태계(walled garden) 정책 때문에 이 프로젝트의 쓸모가 원래 될 수 있었던 것보다 줄어들 것입니다. 그래도 정말 멋진 프로젝트입니다.
MicroG나 그걸 감싼 래퍼 중 하나가 그 부분을 해결해 줍니다. https://microg.cc/features/
https://github.com/kksimp/Mac.apk/wiki/Google-Accounts-and-Play-Services
현실적으로 커스텀 ROM에서 구글 서비스를 돌리는 것처럼 이것도 구글 서비스를 돌리게 만들 수 있을 것 같아요. 게다가 이미 대안으로 Aurora store를 소개하고 있고요.
그러니 이것저것 만져 보는 사람들한테나 맞는 물건이긴 한데, 그래도 꽤 멋져요.
SafetyNet에 의존하는 앱만 빼고요. 은행 앱이 바로 떠오르네요.
게임도 많아요. 사실 이것 때문에 Pokemon Go를 그만뒀고, 덕분에 더 질 나쁜 가챠 게임에 빠지는 일은 없었죠 ㅎㅎ
Pokémon Go는 그럴 만한 이유가 있었습니다. 알고 보니 외국의 정보 수집 작전이었고, 허위 데이터로 오염될 위험을 감수할 수 없었던 거죠.
무슨 말씀이십니까? 나이앤틱(구글)은 공간 AI 모델을 학습시키고 있었다고 인정했습니다. 그 데이터가 "외국의 정보 수집 작전"이었다는 증거는 본 적이 없습니다. 출처가 있다면 알려 주시면 감사하겠습니다.
어떤 모델이요? 누구를 위한 모델인데요?
그렇긴 한데, 웹사이트가 바로 있고 기능도 더 많고 대체로 더 잘 돌아가는데 누가 은행 앱을 쓰죠?
요즘은 "보안 강화"를 이유로 앱으로만 이용하게 하는 은행이 많아요.
다행히 (적어도 지금은) 고를 수 있는 은행이 정말 많으니까, 앱만 되는 은행들한테는 꺼지라고 하면 돼요. 갈아타는 비용도 거의 없고요. 제가 마지막으로 은행을 바꿨을 때는 오후 한나절이면 대부분 끝났어요.
이제는 은행 앱 말고도 훨씬 많아요. 기차 시간표 보기, 마트 전단지 보기, 택시 부르기 같은 평범한 것들에도 SafetyNet DRM이 걸려 있는 경우가 있거든요.
Google Play에 앱을 올리면 Play Developer Console이 나와 사용자를 보호한다는 명목으로 더 강한 난독화를 쓰고 구글의 DRM을 적용하라고 아예 잔소리까지 해요.
EU가 이런 짓 좀 마침내 불법으로 만들어 주면 안 되나요? 아, 거기도 DRM 의무화를 밀고 있죠... 젠장.
이제 play services를 리버스 엔지니어링(RE)할 때가 됐네요
다들 이미 한참 앞서 가 있어요.
https://github.com/microg/GmsCore
와, 대박이네요. 인터넷 사랑합니다
안드로이드 앱은 보통 Kotlin이나 Java로 작성되는데, 그럼 이 방식은 JVM에 의존하지 않는다는 건가요?
AI가 찍어 낸 글은 더 이상 못 참겠어요.
AI 이전에 나온 기술 서적과 매뉴얼을 모아 둔 제 장서가 갈수록 소중해지고 있어요.
맥에서 마인크래프트를 하는 사람들에게 유용합니다. 윈도 플레이어는 Java 버전이나 Bedrock 버전을 쓸 수 있지만, 모바일과 콘솔 플레이어는 전부 Bedrock 버전뿐입니다. 맥에서 안드로이드 버전을 돌릴 수 있으면 로컬의 콘솔 플레이어들과 같이 하거나 Bedrock Realm에 들어갈 수 있습니다.
(직접 서버를 돌리면 호환성 우회 방법이 있지만, 그런 골치 아픈 일은 하고 싶지 않습니다.)
언젠가 모장이 macOS 사용자도 마인크래프트 iPad(Bedrock) 버전을 돌릴 수 있게 해 주면 좋겠습니다..
재미있게도 마인크래프트 Bedrock만을 위한 그런 프로젝트(제한적이고 특화된 호환 레이어를 구현하는)가 리눅스/macOS를 대상으로 몇 년 전부터 있어요.
그 프로젝트 몇 년 전에 써 봤어요! 우리 아들은 모드를 얹은 Java Edition을 주로 즐기게 됐지만, 급할 때는 쓸 만했어요. 다만 예전에 쓰던 방법, 그러니까 Xbox One X에 마우스와 키보드를 연결해서 하던 것과 닮은 거슬리는 점이 몇 가지 있었죠. 채팅창을 열어 명령어를 빠르게 치는 게 PC만큼 매끄럽지 않았거든요. 제 기억으로는 마우스 클릭이 더 필요했어요.
macOS 28에서 인텔 지원을 끊으면 그때 해 줄 거라고 예측해요.