HN 日本語サマリー

← 一覧へ戻る
プログラミング

AndroidアプリがmacOS上でネイティブに動作

Android apps running native on macOS (github.com)

300 pointsby flocked160 コメント

要約

Mac.apkは、エミュレーターや仮想マシンを使わずに、Apple Silicon搭載のMac上でAndroidアプリをネイティブに実行できるソフトウェアです。アプリは通常のmacOSプロセスとして起動し、MacのGPUで描画され、CPUでネイティブ速度で実行されます。開発は初期段階ですが、多くのアプリが正常に動作し、改善が続けられています。

全文翻訳

Mac.apk

Apple Silicon搭載Mac上でAndroidアプリをネイティブに実行。エミュレーター、仮想マシン、Linuxは不要。

[画像: 最新リリース] [画像: ライセンス: AGPL-3.0] [画像: 商用ライセンスあり] [画像: サイン済み・公証済み] [画像: スポンサー]

📱 どのアプリが動作するか?互換性リストを見る →

[画像: テスト済みアプリ数: 71] [画像: 完全動作: 58] [画像: 部分動作: 10] [画像: 未対応: 3]


アルファ版。 Mac.apkは現在活発に開発中の初期ソフトウェアです。一部のアプリは美しく動作し、一部は部分的に動作し、一部はまだ動作しません。使用するには十分安定しており、探求する価値があるほど興味深く、ビルドごとに改善されています。

これは何か

Mac.apkは、AndroidアプリをApple Silicon搭載Mac上で直接実行します。アプリは通常のmacOSプロセスとして起動し、MacのGPUで描画され、CPU上でネイティブ速度で実行されます。Dockに表示され、トラフィックライトの隣にバックボタンが付いた独自のウィンドウを持ち、Macのウィンドウのようにリサイズや回転ができ、Macのライトモード/ダークモードに合わせて切り替わります。Android TVアプリはキーボードから操作でき、ゲームランチャーはインストール済みの他のアプリを起動できます。

ここにはエミュレーターも仮想マシンもありません。バックグラウンドでAndroidを起動するものはなく、下にLinuxカーネルが実行されているわけでもなく、命令ごとに解釈されるわけでもありません。Mac.apkはmacOSの上に直接Androidアプリケーション環境を実装します。仕組みはこちら →

[画像: AndroidアプリがMac上でどのように実行されるか:APK内のアプリコード、ネイティブコード、リソースがMac.apkを通過して実際のMacアプリとして出力される]

📖 Wikiを読む →

システム要件

macOS 26.4 (Tahoe) 以降必須。macOS 27はv1.0.1702以降で動作します
Apple SiliconMacBook Neoを含む、あらゆるApple Silicon搭載Mac。Intel Macはサポートされていません
ディスク容量Mac.apk自体は約280MB。インストールされた各アプリはAPKサイズの約1.5~3倍を消費します

クイックスタート

  1. リリースページからディスクイメージをダウンロードし、Mac.apkを「アプリケーション」フォルダにドラッグします。Appleによって署名および公証されているため、通常通り開けます。
  2. Mac.apkを開き、左上の「Runtime:」の隣にあるInstallをクリックします。
  3. Settings(歯車アイコン)を開き、「File types」を見つけて「Make Default」をクリックし、macOSのプロンプトを承認します。
  4. .apk(または.apkm, .xapk, .apks, .apkx)ファイルをダブルクリックするか、Mac.apkウィンドウにドラッグ&ドロップします。

[画像: Androidアプリのインストールを4ステップで:アプリを選択、確認、Macアプリ化、初回起動]

初めてアプリを起動する際は(大きなアプリでは最大1分かかる場合があります)、Mac.apkが準備を行うため遅くなります。 その後の起動は高速です。詳細、アップデート、アプリストアについては、InstallationおよびApp storesのページを参照してください。

注意

各アプリのデータは、アプリの.appファイル内ではなく、~/Library/Application Support/MacApk/<package>に保存されます。アプリをゴミ箱にドラッグしても、そのデータは残ります。「Mac.apk」ウィンドウのUninstallを使用すると、データをクリーンアップし、再インストール用にセーブデータを保持することもできます。詳細はこちら →

v1.0.2279の既知の問題

このリリースに関する既知の問題と、手動でテストされたすべてのアプリの互換性リストを参照してください。

問題の報告

Mac.apkのバージョン、macOSのバージョン、アプリ名と入手元、発生した事象、および~/Library/Logs/macapk/にあるアプリのログを、Kaleb@voltare.usに送信するか、問題を報告することで報告してください。公開する前にログを確認してください。含めるべき情報はこちら →

ソースコード

Mac.apkを機能させるすべての要素は、このリポジトリに含まれています:Androidフレームワークの再実装、ネイティブランタイム、arm64ローダーとBionicシム、ARM32リコンパイラ、およびmacOSアプリです。BUILDING.mdにビルド方法が、CONTRIBUTING.mdに修正の送信方法が説明されています。アプリのレポートもコードと同様に役立ちます。

開発者およびパブリッシャー向け

Mac.apkは、意図的に広告を表示せず、アプリ内購入もサポートしません。Mac.apkで動作するアプリを公開しており、提携について話し合いたい場合、またはこの環境で動作させたくない場合は、Kaleb@voltare.usまでメールしてください。詳細はこちら →

ライセンス

Mac.apkは GNU AGPL v3.0の下でオープンソースであり、AGPLの条件なしで配布または提供したい企業向けに 商用ライセンスも利用可能です。公式アプリの使用は無料です。詳細:COMMERCIAL.md。Mac.apkの名前とロゴは、TRADEMARKS.mdで別途扱われます。

免責事項

Mac.apkは「現状有姿」で提供され、いかなる保証もありません。ロードするAndroidアプリについては、あなたが責任を負います。Voltareは、Mac.apkを通じて実行されるいかなるサードパーティAPKについても、テスト、監査、または保証することはできません。Voltareは、Mac.apkを通じて実行されるコードの結果として生じる損害、データ損失、マルウェア、セキュリティインシデント、著作権紛争、またはその他のいかなる結果についても責任を負いません。

信頼できるAPKのみをインストールしてください。 Mac.apkの下で実行されるAndroidアプリは、macOSのユーザーアカウントの権限を持つ通常のネイティブコードとして実行されます。電話のようなアプリサンドボックスはありません。Macアプリと同様に、ファイルへの読み書きが可能です。APKは、自分でダウンロードして実行するプログラムと同様に扱い、信頼できるソースから入手してください。

サードパーティソフトウェア

Mac.apkは、複数のオープンソースコンポーネント(ANGLE、MoltenVKおよびVulkanローダー、Capstone、libpng、libvpx、stb_vorbis、Bouncy Castle、OpenJDKからビルドされたJREと、それに付随するフォントおよび画像コード(FreeType、HarfBuzz、GLibなど)、およびAOSPソースからビルドされたAndroidプラットフォームリソース)をバンドルしています。それぞれが独自のライセンスの下で使用されており、完全な通知はTHIRD_PARTY_NOTICES.txtに記載されており、コピーはアプリ内のContents/Resources/THIRD_PARTY_NOTICES.txtにも含まれています。

そのうち2つ(GLibとGNU gettextのlibintl)はLGPLライセンスです。各リリースに含まれる正確なバージョンの完全なソース(アップストリームソース、パッチ、ビルドレシピ)は、リリースページの該当リリースに添付されており、LGPL-SOURCE-README.txtに変更されたビルドの使用方法が説明されています。

リンク