J'essaie d'apprendre Embedded Android du livre du même nom. Et l'auteur a suggéré de travailler avec la branche AOSP Gingerbread. J'ai donc suivi pour télécharger la source:
$ repo init -u https://Android.googlesource.com/platform/manifest.git
-b Gingerbread
$ repo sync
Mais cela prend trop de temps. Aussi à partir de la sortie, il me semble qu'il télécharge également du code source à partir d'autres branches (je vois Android-5 .....) ce qui n'est pas ce que je veux. Je me demande si c'est la raison pour laquelle cela prend autant de temps.
Quelqu'un at-il eu le même problème? Veuillez me donner une suggestion! Merci!
AOSP is un téléchargement de plusieurs gigaoctets donc il n'y a pas grand chose à faire. Cependant, en passant le -c
/--current-branch
option pour repo sync
oblige Repo à dire à Git de ne récupérer que la branche dont vous avez vraiment besoin au lieu de toutes les branches de chaque référentiel. Avec une ancienne version comme Gingerbread, cela devrait théoriquement être très bénéfique. Cependant, Repo initialise les référentiels avec les bundles Git qu'il télécharge via HTTP, et les fichiers de bundle ne sont pas affectés par le -c
option. En utilisant --no-clone-bundle
désactive les fichiers groupés. Par conséquent, la commande Repo suivante devrait générer le plus petit téléchargement:
repo sync -c --no-clone-bundle
(Gardez à l'esprit que Gingerbread est une version vieille de plusieurs années. Cela ne fonctionnera pas avec beaucoup de matériel récent.)
Vous devez utiliser ces commandes:
Exemple: pour mon repo AOSP personnel,
repo init --depth=1 -u https://github.com/zawzaww/aosp-Android.git -b Android-8.1.0
puis,
repo sync -f --force-sync --no-clone-bundle --no-tags -j$(nproc --all)
Vous pouvez en savoir plus sur mon GitHub Repo
repo sync -c --no-tags --no-clone-bundle -j2
Réduit considérablement mes temps de synchronisation.
repo init --depth 1
Il s'agit d'une autre option qui pourrait améliorer la vitesse de synchronisation, car elle ne devrait télécharger que la dernière version du référentiel.
Voici mes commandes de test complètes: Comment compiler le Android noyau AOSP et le tester avec le Android Emulator?