How kksimp/mac.apk works
Mac.apk installs Android packages as Mac app bundles, then launches their Android code as native macOS processes. The runtime combines an Android framework reimplementation with native execution, ARM translation, and macOS-facing window and graphics support; apps use the Mac GPU and appear as ordinary Mac windows. The graph follows documented product stages and the sampled runtime entry point. Several runtime subsystems are represented at directory level because their implementation was not excerpted; edges between them are omitted where the evidence does not establish a call.
Main entry points: main.cpp Runtime entry · android Android framework · InstallCore.swift APK installer · Activity.java Activity lifecycle
Components 24
Install and launch
- Mac app
launcher/MacApkLauncherApp.swift - APK installer
launcher/InstallCore.swift - App bundler
launcher/BundleGenerator.swift - Install helper
launcher/InstallHelperMain.swift - Installed Mac app
Android runtime
- Android framework
runtime/java/android - Activity lifecycle
runtime/java/android/app/Activity.java - Android services
runtime/java/android/content/Context.java - Intent messaging
runtime/java/android/content/Intent.java - Views and windows
runtime/java/android/view - Fragment manager
runtime/java/android/app/FragmentManagerImpl.java - Looper and handlers
runtime/java/android/os/Looper.java - Shared storage
runtime/java/com/macapk/loader/SharedStorage.java - App data
Native execution
- Runtime entry
runtime/src/main.cpp - APK unpacker
runtime/src/apk_unpacker.cpp - JVM loader
runtime/include/macapk/jvm_loader.h - Native loader
runtime/include/macapk/apk_native_exec.h - ARM32 translator
runtime/translator/src/arm32rc/arm32rc_driver.cpp - ELF reader
runtime/translator/src/elf_reader.cpp
macOS integration
- Cocoa bridge
runtime/include/macapk/cocoa_bridge.h - Graphics bridge
runtime/include/macapk/gles_bridge.h - macOS and GPU
Other components
- Mac user
Connections 26
- Mac user → Mac app: opens
README.md - Mac user → APK installer: selects APK
README.md - Mac app → APK installer: installs
- APK installer → Install helper: delegates to
- APK installer → App bundler: creates bundle
- App bundler → Installed Mac app: produces
README.md - Installed Mac app → Runtime entry: launches
README.md - Runtime entry → APK unpacker: uses
runtime/src/main.cpp - Runtime entry → JVM loader: loads
runtime/src/main.cpp - Runtime entry → Cocoa bridge: uses
runtime/src/main.cpp - Runtime entry → Native loader: uses
runtime/src/main.cpp - Runtime entry → Android framework: starts app runtime
README.md - Android framework → Activity lifecycle: provides lifecycle
runtime/java/android/app/Activity.java - Android framework → Android services: provides services
runtime/java/android/content/Context.java - Android framework → Intent messaging: provides messaging
runtime/java/android/content/Intent.java - Activity lifecycle → Views and windows: attaches content
runtime/java/android/app/Activity.java - Activity lifecycle → Fragment manager: manages fragments
runtime/java/android/app/FragmentManagerImpl.java - Fragment manager → Views and windows: adds views
runtime/java/android/app/FragmentManagerImpl.java - Fragment manager → Looper and handlers: posts work
runtime/java/android/app/FragmentManagerImpl.java - Android services → Shared storage: uses storage
- Native loader → ARM32 translator: translates ARM32
- ARM32 translator → ELF reader: reads ELF
- Runtime entry → Graphics bridge: uses
runtime/src/main.cpp - Cocoa bridge → macOS and GPU: bridges to
README.md - Graphics bridge → macOS and GPU: renders via GPU
README.md - Shared storage → App data: maps app files
runtime/java/com/macapk/loader/SharedStorage.java