Gestion des applications

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

1 - Principe

1.1 - Nom de paquet et nom d'application

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

1.2 - Nom de fichier et formats de paquet

Voir : https://apkfab.com/how-to-install-apk-xapk

Les applications Android sont mises à disposition sous forme de fichiers archives compressés au format zip
>> sk.styk.martin_apkplz.net.apkanalyzer_270_apkplz.net.apk
>> apk-analyzer-2-6-3.apk

1.3 - Contenu d'un paquet

$ 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

1.4 - Obtention

Les paquets (fichiers d'applications) peuvent être obtenus

1.5 - Installation - mise à jour - suppression des applications utilisateur

On distingue les applications système et les applications utilisateur

1.6 - Installation - mise à jour - suppression des applications système

1.7 - Applications système - sans modification de la partition system

2 - Gestion des applications en ligne de commande

2.1 - cmd package list - recherche d'informations

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
crackling:/ $ cmd package list packages -3 |grep radio
package:ch.radiosfrancaises
package:com.streema.simpleradio
gts210velte:/ $ cmd package list packages -i busybox                           
package:ru.meefik.busybox installer=org.fdroid.fdroid.privileged
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)

2.2 - pm ( package manager)

Récapitulatif complet des commandes : voir https://www.cheatography.com/citguy/cheat-sheets/android-package-manager-pm/

gts210velte:/ $ pm get-install-location                                                                                                                                                  
0[auto]
crackling:/ $ pm install <application_téléchargée.apk>
crackling:/ $ pm install -r <application_téléchargée.apk>
crackling:/ $ pm install paquet1.apk paquet2.apk
crackling:/ $ pm uninstall com.pagesjaunes   
crackling:/ $ pm uninstall -k com.pagesjaunes 
crackling:/ $ pm clear org.cyanogenmod.weather.provider
a5y17lte:/ $ pm path com.android.bluetooth                                                                                                                   
package:/system/app/Bluetooth/Bluetooth.apk

3 - Suppression d'applications système pour un utilisateur

3.1 - Principe

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

3.2 - Liste d'applications

#!/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
$ 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
....