1 votes

liste des fonctionnalités/composants du paquet de désactivation

Nous pouvons utiliser pm list packages -d pour lister les paquets désactivés.

mais comment puis-je lister les fonctionnalités/composants désactivés dans un paquet ?

Par exemple, je désactive toutes les fonctions liées au fitness dans le système de gestion des données.

pm disable com.google.android.gms/.fitness.sync.FitnessSyncAdapterService et ainsi de suite

et je veux avoir un aperçu des fonctions que j'ai désactivées.

2voto

Milner Points 533

Ce n'est pas aussi simple que de répertorier les paquets. Voici une exception (code Bash) sur la façon dont mon outil Adebar le fait (pour toutes les applications d'un appareil, en envoyant les résultats dans un fichier sous la forme d'un fichier spool). pm disable dans la façon dont votre question le cite), à trouver dans lib/scriptgen.lib :

  local comps
  local myline
  scriptname="${OUTDIR}/deadReceivers.sh"
  echo "#!${BASH\_LOCATION}" > "${scriptname}"
  echo -e "\\n#\\n# Disabled components for ${DEVICE\_NAME} as of $(date '+%Y-%m-%d %H:%M')\\n#" >> "${scriptname}"
  for pkg in $(adb ${ADBOPTS} shell "pm list packages 2>/dev/null"); do
    pkg=${pkg//\[$'\\t\\r\\n'\]}
    pkg=${pkg##\*:}
    \[\[ "${pkg}" = "android" \]\] && continue
    comps=$(adb ${ADBOPTS} shell "dumpsys package ${pkg}" | grep -E -A99999 "disabledComponents:" |grep -E -B99999 "enabledComponents:")
    if \[\[ -n "${comps}" \]\]; then
      echo >> "${scriptname}"
      echo "# ${pkg}" >> "${scriptname}"
      for myline in $comps; do
        myline=${myline//\[$'\\t\\r\\n'\]}
        \[\[ "${myline}" = "disabledComponents:" || "${myline}" = "enabledComponents:" \]\] && continue
        echo "adb ${ADBOPTS} shell \\"pm disable ${pkg}/${myline}\\"" >> "${scriptname}"
      done
    fi
  done

En bref, vous devez analyser la section "disabledComponents" de la sortie de l'application dumpsys package <package_name> ("comps" dans le fragment de code ci-dessus). Comme vous pouvez le voir, ce segment est suivi par une liste de activé composants, au cas où vous voudriez savoir où les trouver.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X