Dernière mise à jour : LineageOS 17 - Android 10
Ce document indique comment identifier, installer, supprimer, mettre à jour des applications sur un périphérique d'Android.
Sommaire
Une application possède un nom de paquet et un nom d'application. Les deux noms sont définis librement par le concepteur de l'application.
https://play.google.com/store/apps/details?id=sk.styk.martin.apkanalyzer
On en déduit le nom du paquet :
sk.styk.martin.apkanalyzer
Voir : https://apkfab.com/how-to-install-apk-xapk
>> sk.styk.martin_apkplz.net.apkanalyzer_270_apkplz.net.apk
>> apk-analyzer-2-6-3.apk
$ unzip -l sk.styk.martin_apkplz.net.apkanalyzer_270_apkplz.net.apk
Archive: sk.styk.martin_apkplz.net.apkanalyzer_270_apkplz.net.apk
Length Date Time Name
--------- ---------- ----- ----
15348 1980-00-00 00:00 AndroidManifest.xml
2178 1980-00-00 00:00 META-INF/CERT.RSA
106704 1980-00-00 00:00 META-INF/CERT.SF
106626 1980-00-00 00:00 META-INF/MANIFEST.MF
12 1980-00-00 00:00 META-INF/android.support.design_material.version
6 1980-00-00 00:00 META-INF/androidx.appcompat_appcompat.version
6 1980-00-00 00:00 META-INF/androidx.arch.core_core-runtime.version
--------- -------
9863952 931 files
On distingue les applications système et les applications utilisateur
Les applications système sont installées dans les répertoires /system/app ou /system/priv-app ce qui leur confère des privilèges particuliers
Elles ne peuvent être installées, modifiées ou supprimées par un utilisateur et celles-ci ont lieu à l'initiative du fournisseur du système d'exploitation lors de l'installation ou de la mise à jour de la ROM
Lorsque le chargeur de démarrage a été déverrouillé et qu'un mode de récupération compatible a été installé (par exemple TWRP), il est néanmoins possible d'ajouter, modifier, supprimer des applications système, à l'aide de fichiers zip. Exemples : fdroid privileged extension, nanodroid-patcher, magisk, .... Des dispositions particulières permettent d'éviter que les modifications soient supprimées lors du redémarrage ou de la mise à jour du système d'exploitation
gts210velte:/ $ cmd package list packages
crackling:/ $ cmd package list packages radio
package:com.android.fmradio
package:ch.radiosfrancaises
package:com.streema.simpleradio
crackling:/ $ cmd package list packages -s radio
package:com.android.fmradio
Recherche des applications utilisateur (tièrce partie)
crackling:/ $ cmd package list packages -3 |grep radio
package:ch.radiosfrancaises
package:com.streema.simpleradio
Recherche de l'installateur associé à une application, ici l'installateur est F-Droid
gts210velte:/ $ cmd package list packages -i busybox
package:ru.meefik.busybox installer=org.fdroid.fdroid.privileged
Recherche du chemin et nom du fichier d'une application
crackling:/ $ cmd package list packages -f radio
package:/system/priv-app/FMRadio/FMRadio.apk=com.android.fmradio
package:/data/app/ch.radiosfrancaises-2/base.apk=ch.radiosfrancaises
package:/data/app/com.streema.simpleradio-2/base.apk=com.streema.simpleradio
Dans cet exemple,
le fichier de l'application "com.android.fmradio" a pour nom FMRadio.apk (application système)
le fichier de l'application "ch.radiosfrancaises" a pour nom base.apk (application utilisateur)
Récapitulatif complet des commandes : voir https://www.cheatography.com/citguy/cheat-sheets/android-package-manager-pm/
gts210velte:/ $ pm get-install-location
0[auto]
Installer l'application
crackling:/ $ pm install <application_téléchargée.apk>
Réinstaller l'application (à la place de la version installée)
crackling:/ $ pm install -r <application_téléchargée.apk>
Installer plusieurs applications
crackling:/ $ pm install paquet1.apk paquet2.apk
Désinstallation avec suppression des données et des répertoires du cache
crackling:/ $ pm uninstall com.pagesjaunes
Désinstallation avec conservation (keep) des données et des répertoires de cache
crackling:/ $ pm uninstall -k com.pagesjaunes
Suppression de toutes les données associées à un paquet
crackling:/ $ pm clear org.cyanogenmod.weather.provider
a5y17lte:/ $ pm path com.android.bluetooth
package:/system/app/Bluetooth/Bluetooth.apk
a5y17lte:/ $ pm uninstall -k --user 0 <nom_paquet>
starqltesq:/ $ cmd package list packages -s youtube
package:com.google.android.youtube
starqltesq:/ $ pm uninstall --user 0 com.google.android.youtube
Success
starqltesq:/ $ cmd package list packages -s youtube
starqltesq:/ $ cmd package install-existing <package name>
starqltesq:/ $ cmd package install-existing com.google.android.youtube
Package com.google.android.youtube installed for user: 0
Créer un script avec la liste d'applications jugées "non indispensables ou remplaçables"
#!/system/bin/sh
# Android
pm uninstall --user 0 com.android.egg
pm uninstall --user 0 com.android.chrome
# Samsung bixby
pm uninstall --user 0 com.samsung.android.app.settings.bixby
pm uninstall --user 0 com.samsung.systemui.bixby2
pm uninstall --user 0 com.samsung.android.bixby.service
pm uninstall --user 0 com.samsung.android.bixby.agent
pm uninstall --user 0 com.samsung.android.bixby.wakeup
pm uninstall --user 0 com.samsung.android.bixby.agent.dummy
# Samsung bixby Home -vision
pm uninstall --user 0 com.samsung.android.app.spage
pm uninstall --user 0 com.samsung.android.visionintelligence
# Samsung Game
pm uninstall --user 0 com.samsung.android.game.gamehome
pm uninstall --user 0 com.samsung.android.game.gametools
pm uninstall --user 0 com.samsung.android.game.gos
# Panel
pm uninstall --user 0 com.samsung.android.app.sbrowseredge
pm uninstall --user 0 com.samsung.android.app.taskedge
pm uninstall --user 0 com.samsung.android.app.appsedge
pm uninstall --user 0 com.samsung.android.app.clipboardedge
pm uninstall --user 0 com.samsung.android.app.cocktailbarservice
# Samsung Browser - Files
pm uninstall --user 0 com.samsung.android.app.sbrowseredge
pm uninstall --user 0 com.sec.android.app.sbrowser
pm uninstall --user 0 com.sec.android.app.myfiles
# Samsung calendar
pm uninstall --user 0 com.samsung.android.calendar
# Samsung email
pm uninstall --user 0 com.samsung.android.email.provider
pm uninstall --user 0 com.wsomacp
# Samsung dex (affichage distant PC microsoft)
pm uninstall --user 0 com.sec.android.app.dexonpc
pm uninstall --user 0 com.sec.android.app.desktoplauncher
# Samsugn Galaxy shop
pm uninstall --user 0 com.samsung.android.app.galaxyfinder
# Samsung messagerie
pm uninstall --user 0 com.samsung.android.messaging
# Samsung virtual reality
pm uninstall --user 0 com.samsung.android.hmt.vrsvc
# Samsung AR Doodle - Emoji - zone
pm uninstall --user 0 com.samsung.android.ardrawing
pm uninstall --user 0 com.samsung.android.aremoji
pm uninstall --user 0 com.samsung.android.arzone
# Samsung Health - Samsung wearable installer
pm uninstall --user 0 com.sec.android.sdhms
pm uninstall --user 0 com.samsung.android.app.watchmanagerstub
# Samsung Moteur synthèse vocal - Saisie vocale - Cloud
pm uninstall --user 0 com.samsung.SMT
pm uninstall --user 0 com.samsung.android.svoiceime
# Samsung Widget Les indisp. Galaxy
pm uninstall --user 0 com.sec.android.widgetapp.samsungapps
# Samsung knox
pm uninstall --user 0 com.samsung.android.knox.containercore
pm uninstall --user 0 com.sec.enterprise.knox.attestation
pm uninstall --user 0 com.samsung.android.knox.attestation
pm uninstall --user 0 com.samsung.android.knox.containeragent
pm uninstall --user 0 com.samsung.knox.keychain
pm uninstall --user 0 com.samsung.knox.securefolder
pm uninstall --user 0 com.samsung.android.knox.analytics.uploader
pm uninstall --user 0 com.knox.vpn.proxyhandler
pm uninstall --user 0 com.sec.enterprise.knox.cloudmdm.smdms
# Microsoft - Facebook
pm uninstall --user 0 com.microsoft.appmanager
pm uninstall --user 0 com.facebook.katana
pm uninstall --user 0 com.facebook.system
pm uninstall --user 0 com.facebook.appmanager
# Divers
pm uninstall --user 0 flipboard.boxer.app
pm uninstall --user 0 com.hancom.office.editor.hidden
# Google - youtube - Device Health Services - GMail - Installateur Duo - Chrome
pm uninstall --user 0 com.google.android.youtube
pm uninstall --user 0 com.google.android.apps.turbo
pm uninstall --user 0 com.google.android.gm
pm uninstall --user 0 com.google.android.apps.tachyon
pm uninstall --user 0 com.android.chrome
pm uninstall --user 0 com.sec.android.app.chromecustomizations
- Créer un script de réinstallation afin de revenir plus facilement en arrière si besoin
$ sed 's/pm uninstall --user 0/cmd package install-existing/' debloat.sh >rebloat.sh
$ cat rebloat.sh |head
#!/system/bin/sh
############# Android
cmd package install-existing com.android.egg
# Samsung bixby
cmd package install-existing com.samsung.android.app.settings.bixby
cmd package install-existing com.samsung.systemui.bixby2
cmd package install-existing com.samsung.android.bixby.service
cmd package install-existing com.samsung.android.bixby.agent
$ adb push *bloat.sh /sdcard/
$ adb shell sh sdcard/debloat.sh
success
success
....