メインコンテンツへスキップ
リリース APK は必ず packaging エントリーポイントでビルドしてください。初回ビルドの前に、ネイティブ コンポーネントの準備を完了してください。

必要環境

ビルドの入り口はリポジトリ ルートの kotlin スクリプト(Windows は kotlin.bat)です。初回実行時に必要な Kotlin Toolchain を自動的にダウンロードするため、Kotlin や Gradle を手動でインストールする必要はありません。サポートする最低 Android バージョンは 13(API 33)、対応 ABI は arm64-v8a のみです。NDK バージョン、最小 SDK、ABI は kernel.properties から読み込まれます。

リポジトリの準備

1

ソースの取得

2

Android SDK の設定

API 37、build-tools 37.0.0、NDK 30.0.16248370、CMake 3.22.1、Ninja をインストールし、SDK ライセンスに同意してください。ANDROID_HOME を SDK に向けるか、リポジトリ ルートに local.properties を作成します:
ANDROID_HOME、ANDROID_SDK_ROOT、sdk.dir はすべて同じ SDK を指す必要があります。
3

Go と Rust の準備

MetaCubeX が管理する Go 1.27(CI と同じバージョン)と Rust nightly ツールチェーンをインストールします。次のステップで GOROOT を変更するため、専用の Go SDK を推奨します:
Go コアをビルドする前に、.github/patch/ のパッチを go env GOROOT の示すディレクトリへ適用します。CI はネイティブ ビルドの前に自動で実行します。以下のコマンドは Linux、macOS、Git Bash で利用できます:
4

mihomo カーネルの同期

既定では Alpha ブランチを同期します。Meta も利用できます:

ネイティブ コンポーネントのビルド

完全ビルド

すべてのネイティブ ライブラリを生成し、Geo データをダウンロードします。

コンポーネント単位のビルド

既定の ABI は kernel.properties の abi.app.list から取得されます。環境変数で明示的に指定することもできます:

ビルド成果物

jniLibs/arm64-v8a/ のネイティブ ライブラリ: Geo データは build/generated/assets/geo/ に配置されます:

APK のビルド

ビルド コマンドは kotlin run -m packaging です。すべての -Pkey=value 引数は -- の後に置き、packaging エントリへ渡します。PowerShell ではドットを含む引数を単一引用符で囲みます。

Debug

Debug はローカルでのインストールと検証向けで、既定では Geo を同梱しません:

Release

Release は loader DEX をビルドしてペイロードを梱包します。先に後述の署名設定を済ませてください:
検証に合格した APK は output_apk/debug/ と output_apk/release/ に YumeBox-external.apk または YumeBox-builtin.apk として出力され、バージョンや SHA-256 などのビルド情報を記録した同名の .apk.json が生成されます。

署名

署名を設定しない場合、Debug は標準の debug keystore を自動生成して使用します。リポジトリ ルートに signing.properties が存在する場合は、Debug と Release の両方でそれが優先されます。Release は署名が必須です。リポジトリ ルートに release.keystore を置き、signing.properties を作成してください:
release.keystore と signing.properties はコミットしないでください。
未署名 APK は --allow-unsigned を明示的に指定し、かつ signing.properties がない場合にのみ生成されます。未署名 APK は adb install でインストールできず、CI もこのオプションを使用しません。

CI ビルド

すべての CI ジョブは macos-26 で実行され、arm64-v8a のみをビルドします: CI はコミット数をビルド バージョン番号として使用し、コミット ハッシュとブランチ情報を埋め込みます。

インストールの確認

ファイル名が異なる場合は、先に output_apk/debug/ の実際の成果物を確認してください。

よくある問題

その他のビルドエラーは FAQ を参照してください。
最終更新日 2026年11月1日