Je crée un module personnalisé dans Android source en utilisant la commande mm
.
Quand je lance mm clean
, il semble que tout le projet soit nettoyé.
Comment puis-je limiter le nettoyage au seul module actuel?
Utilisation mm -B
, il va tout reconstruire, équivalent à clean puis make.
Une autre façon de se passer de mm est de donner make clean-<target name>
à partir de la racine de Android.
De même, vous pouvez créer le module requis seul avec make <target name>
Sur les anciens systèmes de construction AOSP basés sur la marque, utilisez
mm -B
pour reconstruire le module.
Sur les nouveaux systèmes de construction AOSP basés sur Ninja + Soong, il semble que -B
ne fonctionne plus. Il donne l'erreur Unknown option: -B
.
Une alternative possible consiste à utiliser le NINJA_ARGS
variable d'environnement pour passer des arguments Ninja supplémentaires au moteur de construction sous-jacent.
Par exemple, la commande suivante supprime tous les fichiers de sortie et intermédiaires:
NINJA_ARGS="-t clean" mm
Dans ce cas clean est un outil supplémentaire pour le système de construction Ninja. Voir https://ninja-build.org/manual.html#_extra_tools pour d'autres outils.
Une chose à noter est que l'outil clean semble effacer toutes les dépendances du module, au lieu du module lui-même. Je n'ai pas trouvé de moyen d'attribuer une règle pour limiter la portée propre au module uniquement.
références: https://Android.googlesource.com/platform/build/soong/+/HEAD/docs/best_practices.md
Le préfixe "clean-" au nom du module fera la construction propre dans Android
Par exemple, m clean-libskia
make <lib> 2>&1 | grep -e "install"
Cela fera et affichera toutes les bibliothèques qui ont été recompilées.