Gradle を実行している場合のみ、欠落している
jniLibs は生成されません.初めてビルドする場合は、最初にネイティブ ビルドを完了してください. 環境要件
現在のアプリケーションは
arm64-v8a のみをビルドし、対応する Rust ターゲットは aarch64-linux-android です.
倉庫を準備する
1
ソースコードを取得する
2
Android SDKを構成する
API 37、NDK 30.0.14904198、および CMake 3.22.1 をインストールし、リポジトリのルート ディレクトリに NDK は、
local.properties を作成します.gradle.properties の android.ndkVersion に従って自動的に検索します.3
Go と Rust の準備
.github/patch/ から go env GOROOT のパッチを適用する必要もあります. CI は、ネイティブ コンポーネントをビルドする前にこのステップを自動的に実行します.Git Bash または WSL で実行します.4
同期ミホモ
カーネルチャネルを選択します.デフォルトではアルファが使用されます.メタを使用することもできます.
ネイティブコンポーネントを構築する
完全なビルド
完全なビルドでは、すべてのネイティブ ライブラリが生成され、地理データがダウンロードされます.
ネイティブ デバッグでは、現在の ABI のみがビルドされます.
jniLibs/arm64-v8a/ には次の内容が含まれるはずです.
地理データは
build/generated/assets/geo/ にあります.
APK をビルドする
###デバッグ デバッグは、ローカルのインストールとデバッグに適しています.リリース
解放すると、圧縮とリソースの縮小が可能になります.地理データのバリアント
どちらの亜種も同じアプリケーション コードとカーネルを使用します.唯一の違いは、Geo リソースが APK にパッケージ化されているかどうかです.
APK は次の場所に出力します.
YumeBox-external.apk または YumeBox-builtin.apk が生成されます.実際のファイル名は出力ディレクトリに基づいています.
リリース署名
ローカル検証を正式な署名で構成する必要はありません. APK を公開するには、ウェアハウスのルート ディレクトリにrelease.keystore と signing.properties が必要です.
release.keystore または signing.properties は送信しないでください. CI ビルド
CI は
arm64-v8a を使用し、build.number、build.hash、および build.branch を介してビルド バージョン情報を書き込みます.
インストールを確認する
app/build/outputs/apk/ で実際の製品を確認してください.
よくある質問
その他のビルド エラーについては、FAQ を参照してください.
