2017-09-26 6 views
3

Notre fournisseur de chipset donne une goutte de la plate-forme Android avec des centaines de modules inutiles. Certains sont inclus en utilisant LOCAL_MODULE_TAGS := optional debug mais je ne veux pas que ce module apparaisse dans n'importe quelle construction. Certains sont inclus en faisant PRODUCT_PACKAGES += junk-app. Je pourrais parcourir tous les fichiers Android.mk, un à la fois, pour nettoyer tout ça, mais c'est ennuyeux et difficile à fusionner si le vendeur nous donne une nouvelle baisse.Comment supprimer de nombreux modules de la plate-forme Android?

Je peux utiliser LOCAL_OVERRIDES_PACKAGES pour se débarrasser de la PRODUCT_PACKAGES, mais cela ne fonctionne pas sur les bibliothèques partagées enregistrées dans des fichiers /system/vendor/bin ou préconçus qui sont copiés dans /system/etc/.

Ceux avec LOCAL_MODULE_TAGS mis aux valeurs qui incluent eng ou debug sont les plus ennuyants.

+0

Si votre téléphone Android comprend 'audioflacapp' vous savez qui je parle. Tous les téléphones Android n'ont-ils pas besoin d'un outil en ligne de commande pour encoder l'audio FLAC? – satur9nine

Répondre

0

Donc, il ne semble pas y avoir de solution miracle, voici était ma stratégie:

  • Retirez les debug et eng balises de la LOCAL_MODULE_TAGS dans un tas de makefile (fastidieux, mais pas d'autre choix évident)
  • Utilisez ifneq ($(TARGET_VENDOR), mycompany) pour se débarrasser des choses ajoutées à PRODUCT_PACKAGES