私は埋め込まれたAndroidを学ぼうとしています。そして著者はAOSP Gingerbreadブランチでの作業を提案しました。それで私はソースをダウンロードするために続きました:
$ repo init -u https://Android.googlesource.com/platform/manifest.git
-b Gingerbread
$ repo sync
しかし、時間がかかりすぎています。また、出力からは、他のブランチからソースコードをダウンロードしているようにも見えます(Android-5 .....を参照)。それがこんなに時間がかかるのかと思います。
誰か同じ問題がありましたか?提案をお願いします!ありがとう!
AOSP isマルチギガバイトのダウンロードなので、できることはそれほど多くありません。ただし、-c
/--current-branch
オプションをrepo sync
に渡すと、RepoはGitに各リポジトリのすべてのブランチではなく、本当に必要なブランチのみをフェッチするように指示します。 Gingerbreadのような古いリリースでは、これは理論的には非常に有益です。ただし、RepoはHTTP経由でダウンロードするGitバンドルをリポジトリにシードし、バンドルファイルは-c
オプションの影響を受けません。 --no-clone-bundle
を使用すると、バンドルファイルが無効になります。したがって、次のRepoコマンドを使用すると、ダウンロードが最小になります。
repo sync -c --no-clone-bundle
(Gingerbreadは数年前のリリースであることを覚えておいてください。最近の多くのハードウェアではそのままでは機能しません。)
次のコマンドを使用する必要があります。
例:私の個人的なAOSPリポジトリの場合、
repo init --depth=1 -u https://github.com/zawzaww/aosp-Android.git -b Android-8.1.0
その後、
repo sync -f --force-sync --no-clone-bundle --no-tags -j$(nproc --all)
あなたは私のGitHubでもっと学ぶことができます Repo
repo sync -c --no-tags --no-clone-bundle -j2
同期時間を大幅に短縮します。
repo init --depth 1
これは、リポジトリの最新バージョンのみをダウンロードする必要があるため、同期速度を向上させる可能性がある別のオプションです。
これが私の完全なテストコマンドです: Android AOSPカーネルをコンパイルし、Android Emulator?