1 votos

lista desactivar paquete característica/componente

Podemos utilizar pm list packages -d para listar los paquetes desactivados.

¿pero cómo puedo listar una función/componente desactivado dentro de un paquete?

por ejemplo yo desactivo todo lo relacionado con fitness de gms

pm disable com.google.android.gms/.fitness.sync.FitnessSyncAdapterService etc.

y quiero volver a tener una visión general de qué función he desactivado

2voto

Izzy Puntos 45544

No es tan sencillo como los paquetes de anuncios. Aquí hay una excepción (código Bash) sobre cómo mi herramienta Adebar lo hace (para todas las aplicaciones de un dispositivo, enviando los resultados a un archivo como pm disable en la forma en que lo cita su pregunta), que se encuentra en 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 resumen: tendría que analizar la sección "disabledComponents" de la salida de dumpsys package <package_name> ("comps" en el fragmento de código anterior). Como puede ver, ese segmento va seguido de una lista de habilitado componentes, por si quieres saber dónde encontrarlos.

1 votos

¡nice Adebar y IzzyOnDroid!

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X