Nettoyer Android avec adb

Par défaut

On ne va pas se cacher, Android est le nouveau Windows ! Ce système pour smartphone et tablette est livré avec pleins d’applications tout aussi inutiles que polluantes pour nos yeux, notre éthique (coucou Google, Facebook, Instagram, Netflix…) mais aussi nos batteries ! Ayant fait acheter 20 tablettes Huawei MediaPad M3 Lite au lycée, voici comment j’ai entrepris de les nettoyer et d’installer les applications dessus.

20 tablettes, c’est beaucoup, et n’ayant pas d’outil de management, on appelle cela un système MDM (Mobile Device Management), forcément payant, j’ai entrepris de gérer cela via adb et un script qui automatise le processus. C’est cet article de Dada qui m’a permis d’en arriver là.

Paramétrage du téléphone ou tablette

Dans un premier temps, il faut activer le débogage USB, menu présent dans les options de développeurs qu’il faudra activer en cliquant 7 fois sur le numéro du build Android (dans les paramètres).

Dans un second temps, il faudra activer les sources inconnues pour l’installation des applications. En effet, on va récupérer les paquetages Android (.apk) et on les installera via le script. Il ne faut donc pas que notre appareil bloque l’installation. On trouve cela généralement dans les Paramètres, sous-menu Sécurité puis cocher la case Sources Inconnues.

Préparation du PC

Je considère que j’utilise un PC Linux où on aura pris soin d’installer le paquet logiciel android-tools-adb. On l’installe ainsi sous Ubuntu ou Debian :

apt install android-tools-adb

On branche notre tablette ou smartphone et on regarde, via un terminal, qu’il est bien reconnu :

$ adb devices
List of devices attached 
MWUBB19104200385	device

Adaptation du script

On peut créer à présent un dossier avec des .apk que l’on aura pris soin de télécharger le plus possible sur le store d’application Open-Source F-Droid (VLC, Wikipédia, OsmAnd, SecScanQR, NewPipe, Maps, Aurora Store, G-Droid…).

Téléchargeons pour l’exemple l’application G-Droid pour parcourir ce store sur notre appareil, l’apk sera à déposer dans ce dossier. Dans ce dernier, glisser ce script que vous pouvez nommer Nettoyer_Android.sh

#!/bin/bash

## SUPPRESSION DES APPLICATIONS
# Utilisation de adb shell pm uninstall --user 0 com.instagram.android
# Obtenir la liste des packages : adb shell pm list packages
# Avec grep : adb shell pm list packages | grep google

AppsToRemove=(com.android.calendar com.android.chrome com.android.contacts com.android.email com.android.mediacenter com.facebook.appmanager com.facebook.katana com.facebook.system com.google.android.apps.books com.google.android.apps.docs com.google.android.apps.magazines com.google.android.apps.photos com.google.android.apps.plus com.google.android.gm com.google.android.googlequicksearchbox com.google.android.inputmethod.latin com.google.android.music com.google.android.play.games com.google.android.talk com.google.android.videos com.google.android.youtube com.hicloud.android.clone com.hp.android.printservice com.huawei.gamebox.global com.huawei.himovie com.huawei.kidsmode com.huawei.kidsmode.kidspaint com.huawei.KoBackup com.huawei.phoneservice com.huawei.systemmanager com.instagram.android com.microsoft.office.outlook)

for apps in ${AppsToRemove[@]}
do
	adb shell pm uninstall --user 0 $apps
done

##INSTALLATION DES APK CONTENUES DANS LE REPERTOIRE
## CONTENANT LE SCRIPT BASH
# Utilisation de adb install paquet.apk

for apk in *.apk
do
	adb install $apk
done


## AJOUT DES CARTES OsmAnd

# Creation du dossier pour la depose
adb shell mkdir -p /storage/emulated/0/Android/data/net.osmand.plus/files

for obf in *.obf
do
	adb push $obf /storage/emulated/0/Android/data/net.osmand.plus/files/.
done

Si vous êtes utilisateur d’OsmAnd, vous pouvez aussi télécharger les cartes (à dézipper), le script vous les installera automatiquement au bon endroit (bien installer OsmAnd avant).

Dans le script, je supprime beaucoup d’applications pré-installées sur la tablette Huawei, faites votre tri… Avec adb, on récupérera la liste des paquets avec la commande :

$ adb shell pm list packages

Si vous souhaitez voir les applications liées à Facebook, faites un :

$ adb shell pm list packages | grep facebook

2 astuces pour repérer le nom du paquet correspondant à l’application :

  1. Taper sur Qwant le nom de l’application suivi de ‘package name android’.
  2. Chercher sur le Play Store l’application, et dans la barre d’adresses, vous devriez avoir cela pour Gmail : https://play.google.com/store/apps/details?id=com.google.android.gm. Le nom du paquet à désinstaller com.google.android.gm

Lancement du script

Dossier de fichiers

Assurez-vous que le script soit bien exécutable dans les propriétés du fichier puis, depuis le dossier contenant les apk et le script, exécutez-le avec :

$ sh Nettoyer_Android.sh

Messages installation d’apps :

Voici les différents retours de la console lors du lancement du script…

  • application bien installée :
1917 KB/s (34546791 bytes in 17.592s)
 Success
  • application déjà installée :
Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install net.osmand.plus without first uninstalling.]

Messages désinstallation d’apps :

  • application bien désinstallée :
Success
  • application déjà désinstallée :
Failure [not installed for 0]

Nota : 0 est le compte utilisateur de la tablette avec lequel vous effectuez la désinstallation.

Comment on fait sans compte Google ?

Question récurrente :

OUI, on peut faire tourner une tablette Android sans compte Google !

Pour cela, j’utilise l’application Aurora Store (dispo dans G-Droid) qui permet d’avoir accès aux applications du Google Play Store de manière anonyme.

Catégorie Éducation d’Aurora Store

Ce store permet en outre de récupérer les apk…

Tablette livrée

Voici une capture du bureau actuel de la tablette. Il manque encore des applications pédagogiques, mais l’essentiel est là !

Un unique bureau

2 réflexions au sujet de « Nettoyer Android avec adb »

  1. w1nst0n

    Mhm… il est 2h du matin et je me suis définitivement perdu sur le web. À la base, j’étais juste parti pour chercher un client XMPP suite à la lecture d’une news sur linuxfr.org et me voilà avec 60 onglets ouverts…

    Enfin bon j’ai découvert ton blog, au contenu fort sympathique au demeurant, et suis tombé sur ce billet qui a attisé ma curiosité.

    Je pense que tu pourras être intéressé par ce projet : https://gitlab.com/W1nst0n/universal-android-debloater

    Là encore, au départ, j’étais simplement parti pour créer un petit script pour le téléphone de mon cousin… puis je suis devenu ambitieux (ou complètement fou je ne sais pas).

    L’idée est de proposer un outil permettant de nettoyer n’importe quel téléphone Android. Je te laisse lire le README pour plus de précisions. Le plus gros du travail est la documentation car oui, toutes les applications répertoriées sont documentés (~ 1400 à ce jour).

    Ohla il faut vraiment que j’aille me coucher.

    Passe une bonne fin de semaine.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *